@IBOutlet weak var map: MKMapView!
override func viewDidLoad() {
map.delegate = self
showAlarms()
super.viewDidLoad()
// Do any additional setup after loading the view.
}
func showAlarms(){
map.region.center.latitude = 10.733051
map.region.center.longitude = 76.763042
map.region.span.latitudeDelta = 1
map.region.span.longitudeDelta = 1
}
func mapView(mapView: MKMapView!,
viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
if annotation is MKUserLocation {
//return nil so map view draws "blue dot" for standard user location
return nil
}
let reuseId = "pin"
var pinView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseId) as? MKPinAnnotationView
if pinView == nil {
pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
pinView!.canShowCallout = true
//pinView!.animatesDrop = true
pinView!.image = UIImage(named:"annotation")!
}
else {
pinView!.annotation = annotation
}
return pinView
}
我需要在 swift ios 中显示我的 map View 的自定义图钉图像。自定义图像既不加载图钉。我有一个名为“注释”的图像,我需要将其加载到我的 map View 中。
最佳答案
mapview.delegate = self
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
guard !(annotation is MKUserLocation) else {
return nil
}
let annotationIdentifier = "Identifier"
var annotationView: MKAnnotationView?
if let dequeuedAnnotationView = mapView.dequeueReusableAnnotationView(withIdentifier: annotationIdentifier) {
annotationView = dequeuedAnnotationView
annotationView?.annotation = annotation
}
else {
annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: annotationIdentifier)
annotationView?.rightCalloutAccessoryView = UIButton(type: .detailDisclosure)
}
if let annotationView = annotationView {
annotationView.canShowCallout = true
annotationView.image = UIImage(named: "yourImagename”)
}
return annotationView
}
关于ios - 如何在 Mapview swift ios 中设置自定义图钉图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41800302/