MkmapView UsersLocation

Я разрабатываю приложение, основанное на MKMapViewи требование Приложения состоит в том, чтобы определить, находится ли пользовательское местоположение (обозначенное синей точкой) в видимой области экрана или вне видимой области экрана.

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

Пожалуйста, предоставьте полезные решения и помогите мне.

Заранее спасибо.

1 ответ

Просто используйте userLocationVisible (Я не помню, но @Volker напомнил мне)


любая аннотация:

получить местоположение и проверить, видима ли координата пикселя

  1. получить местоположение пользователя с карты
  2. получить свою координату
  3. преобразовать его в маппин (MKMapPointForCoordinate)
  4. получить видимый mapRect вида карты
  5. использовать MKMapRectContainsPoint

    MKMapRect visibleRect = self.mapView.visibleMapRect;
    MKMapPoint pt = MKMapPointForCoordinate(self.mapview.userLocation.coordinate);
    
    BOOL visible = MKMapRectContainsPoint(visibleRect, pt);
    
Другие вопросы по тегам