#ios #swift #mapkit #mapkitannotation
Вопрос:
Я не смог найти никакой документации по этому вопросу, так что, возможно, это невозможно, я все равно спрашиваю. Мне нужно показать синюю точку для определения местоположения пользователя. Мое представление карты заполнено пин-кодами, и иногда мой пользователь нажимает на синий кружок местоположения пользователя, который открывает небольшой пин-код с изображением пользователя. Как я могу это удалить? Это раздражает, если что-то позади.
До сих пор мне удавалось идентифицировать, когда я открывал аннотацию таким образом :
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. ах, я был близок, я действительно вернулся прямо, но я не думал об отмене выбора. Спасибо