#iphone #cocoa-touch #ios #mapkit
#iPhone #cocoa-touch #iOS #mapkit
Вопрос:
В MKMapView можно отображать местоположение пользователя. Вокруг синей точки определения местоположения пользователя находится своего рода «голубой ореол», обозначающий точность. Как можно было бы добавить это в мое собственное приложение, но вокруг пин-кода? Местоположение пин-кода получено с компьютера Mac, который использовал там CoreLocation, и я уже знаю точность. Спасибо!
Ответ №1:
Вы могли бы просто нарисовать MKCircle вокруг этого вывода. Предполагая, что у вас есть центральная координата и точность (радиус окружности), вы могли бы просто добавить наложение на карту с помощью вызова [map addOverlay: [MKCircle circleWithCenterCoordinate: coordinate radius: accuracy]]
Затем вы можете настроить внешний вид круга в методе MKMapViewDelegate mapView:viewForOverlay:
, где вы можете создать MKCircleView и вернуть его.
Это не позволило бы анимировать, но было бы очень похоже на круг, используемый вокруг местоположения пользователя.
Комментарии:
1. Спасибо, это работает как по волшебству. Единственная проблема, с которой я столкнулся, заключается в том, чтобы цвет обводки и заливка круга выглядели так же, как круг местоположения пользователя, но я думаю, что пока я проделал довольно хорошую работу.
Ответ №2:
Вам нужно будет либо реализовать пользовательский подкласс MKAnnotationView, либо назначить соответствующие изображения image
свойству существующего объекта MKAnnotationView. Необычный анимированный индикатор, используемый для определения местоположения пользователя, является закрытым классом, поэтому вы не можете получить к нему прямой доступ в качестве основы для вашего пользовательского поведения.
Комментарии:
1. Каким будет имя класса для этого частного класса?
2. @TristanSeiert: Я не припоминаю сразу. Но в отладчике вы можете изучить вложенные представления MKMapView, чтобы найти его.