Как показать круг вокруг аннотации, как в Google Maps - PullRequest
0 голосов
/ 07 декабря 2011

Я использую MKMapView. Как показать круг вокруг аннотации, как в Google Maps (когда показать текущее местоположение пользователя) Этот круг движется с анимацией в новое место и радиус круга зависит от текущего уровня масштабирования.

1 Ответ

1 голос
/ 07 декабря 2011

Сами аннотации не имеют свойства для отображения круга, но вы можете использовать наложение круга с тем же центром, что и у координаты аннотации , чтобы добиться этого эффекта, как на рисунке ниже ( из одного из моих проектов).

Примечание: свойство для центра круга называется "координата", как и для аннотаций.

Annotations with their accuracy drawn using a circle overlay

Вторая часть - анимация движения. Это достигается путем анимации свойства координат наложения круга в то же время, что и свойство координат аннотации. Таким образом, они оба переедут вместе на новое место.

Этот вопрос может помочь вам в том, как перемещать и анимировать положение аннотации. Если вам нужно, чтобы радиус круга изменялся одновременно (например, при анимации координаты), вы просто используете Core Animation для его анимации вместе с координатой.

Что касается изменения размера в зависимости от уровня масштабирования, Map Kit всегда будет обрабатывать это автоматически для вас с помощью оверлеев и аннотаций, чтобы они всегда покрывали одну и ту же область карты, даже если размер карты изменяется. (Второе изображение - те же аннотации и наложения, что и ниже, только увеличенное изображение слева (ближе к Стокгольму на первом изображении)).

The same annotations and overlays as above, just zoomed in on the ones to the left (closer to Stockholm)

...