如何创建自定义MKMarkerAnnotationView图片?

时间:2020-05-04 10:12:18

标签: ios swift mapkit

我想在带有自定义图像的mapView上创建标记。是否可以同时显示图像和标题?我尝试了几种方法

  • MKMarkerAnnotation视图。使用.image设置图像,但默认气泡仍然存在,使用.glyphImage我无法使图像保留原始颜色
  • MKPinAnnotation。我没有显示标题。

我需要将它们与MKMarkerAnnotationView同时显示,但要使用自定义图钉图像。我该怎么做?

1 个答案:

答案 0 :(得分:1)

它与自定义类mkAnnotation一起使用,我不确定这是否是最佳实践,但它在我的应用程序中有效。 尝试这样的事情...

class SightMap: NSObject, MKAnnotation {
     let identifier = "pinImage"
     //+ something else, for example 
     var image: UIImage?
}
///somewhere in your code
     let sightmap = SightMap(...init...)
     map?.addAnnotation(sightmap)

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
        let view = MKAnnotationView(annotation: annotation, reuseIdentifier: "pinImage")
        view.addSubview(YOUR_IMAGE)
        view.addSubview(YOUR_label)

    }