在Mapbox iOS SDK上dynamic更改MGLPointAnnotation图像
我有一个应用程序在其iOS SDK
上使用Mapbox
的地图, Mapbox
在其上显示标记( MGLPointAnnotation
)。
我想在选中时更改标记的图像。
MGLPointAnnotation
没有image
属性,我试图调用委托方法mapView(mapView, imageForAnnotation annotation)
但它没有工作。
任何想法我怎么能做到这一点?
谢谢!
-
我很确定,在添加到地图之后没有办法改变注释(除了它是一个注解视图)
-
mapView(mapView, imageForAnnotation annotation)
只有在添加注释时才被调用。 -
你可以做的是使用didselect delegete
func mapView(_ mapView: MGLMapView, didSelect annotationView: MGLAnnotationView){ //code }
并在相同的位置设置一个新的注释,但这次是与您想要的图像。 然后图像注释代理被调用,在那里定义你的图像
func mapView(_ mapView: MGLMapView, imageFor annotation: MGLAnnotation) -> MGLAnnotationImage? { //code }
以下是客户标记图片的示例: https : //www.mapbox.com/ios-sdk/examples/marker-image/