MkmapView UsersLocation
Я разрабатываю приложение, основанное на MKMapView
и требование Приложения состоит в том, чтобы определить, находится ли пользовательское местоположение (обозначенное синей точкой) в видимой области экрана или вне видимой области экрана.
В начале, когда карта загружается, она автоматически устанавливает свою позицию в соответствии с местоположением пользователя, но я хочу определить, находится ли текущее местоположение в видимой области экрана или нет, после того, как пользователь прокрутит вид карты.
Пожалуйста, предоставьте полезные решения и помогите мне.
Заранее спасибо.
1 ответ
Просто используйте userLocationVisible
(Я не помню, но @Volker напомнил мне)
любая аннотация:
получить местоположение и проверить, видима ли координата пикселя
- получить местоположение пользователя с карты
- получить свою координату
- преобразовать его в маппин (MKMapPointForCoordinate)
- получить видимый mapRect вида карты
использовать MKMapRectContainsPoint
MKMapRect visibleRect = self.mapView.visibleMapRect; MKMapPoint pt = MKMapPointForCoordinate(self.mapview.userLocation.coordinate); BOOL visible = MKMapRectContainsPoint(visibleRect, pt);