Как исключить местоположение пользователя из выноски MKAnnotationView? - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть следующий код:

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    if view.annotation is MKUserLocation {
        view.canShowCallout = false
    } else {
        self.locationInfoContainerView.isHidden = false
    }
}

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

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

  func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    if view.annotation is MKUserLocation {
        self.locationInfoContainerView.isHidden = false
    } else {
        view.canShowCallout = false    
    }
}

Но это дает тот же результат.Могут ли некоторые прояснить ситуацию и помочь мне с программированием желаемого поведения?IE: Отображение вида контейнера КОГДА постучал по аннотации на карте ОТЛИЧНО от местоположения пользователя на карте.

Надеюсь, это достаточно ясно, спасибо, ребята.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Решение было:

    func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
        if annotation is MKUserLocation {
            return nil 
        }
        :
        :
0 голосов
/ 19 сентября 2018

Установить заголовок пустым в viewForAnnotation

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
  if let userAnnotation = annotation as? MKUserLocation {
    userAnnotation.title = ""
    return nil
  }
}
...