Swift mapkit как скрыть PIN-код местоположения пользователя

#ios #swift #mapkit #mapkitannotation

Вопрос:

Я не смог найти никакой документации по этому вопросу, так что, возможно, это невозможно, я все равно спрашиваю. Мне нужно показать синюю точку для определения местоположения пользователя. Мое представление карты заполнено пин-кодами, и иногда мой пользователь нажимает на синий кружок местоположения пользователя, который открывает небольшой пин-код с изображением пользователя. Как я могу это удалить? Это раздражает, если что-то позади.

pin-код местоположения пользователя

До сих пор мне удавалось идентифицировать, когда я открывал аннотацию таким образом :

 func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    if(view.annotation?.isKind(of: MKUserLocation.self) != true){
        print("test");
    }
}
 

Есть ли способ отменить его показ?

Ответ №1:

У вас есть 99% решения — вы определили, когда выбрана аннотация местоположения пользователя. Все, что вам нужно сделать, чтобы выполнить свою задачу, — это отменить ее выбор;

 func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
        
    if view.annotation is MKUserLocation {
        mapView.deselectAnnotation(view.annotation, animated: false)
        return
    }

    // Handle selection of other annotations if required...
}
 

Комментарии:

1. ах, я был близок, я действительно вернулся прямо, но я не думал об отмене выбора. Спасибо