Я выбираю несколько маркеров на картах.Выбор маркера работает отлично, и вызывается метод делегата карты
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView){}
.
- Когда показывается выноска, и я собираюсь отменить выбор того же маркера, показание выноски.Ничего не произошло.
- Когда отображается выноска, и я щелкаю по любому другому месту, а затем отменяю выбор предыдущего маркера, он отменяет выбор маркера.
Обязательно:
Когда отображается выноска, и я собираюсь отменить выбор того же маркера, выноска которого показывает, что необходимо отменить выбор.
Используемый стек
xCode
с swift 4.2
Apple
MapKit MKAnnotationView
как пользовательский маркер
class ArtworkView: MKAnnotationView {
var locItem:LocationItem = LocationItem()
override var annotation: MKAnnotation? {
willSet {
guard let artwork = newValue as? Artwork else {return}
locItem = artwork.locItem
if(!artwork.isUser){
canShowCallout = true
calloutOffset = CGPoint(x: -5, y: 5)
rightCalloutAccessoryView = nil
if let imageName = artwork.imageName {
image = UIImage(named: imageName)
} else {
image = nil
}
detailCalloutAccessoryView = detailLabel
}else{
canShowCallout = false
calloutOffset = CGPoint(x: -5, y: 5)
rightCalloutAccessoryView = nil
image = UIImage(named: "gifcurrentloc")
detailCalloutAccessoryView = nil
}
}
}