单击时 MapView 自定义引脚不显示详细信息

Posted

技术标签:

【中文标题】单击时 MapView 自定义引脚不显示详细信息【英文标题】:MapView custom pins not displaying details when clicked 【发布时间】:2015-10-07 10:08:26 【问题描述】:

我正在尝试在 MapView 上显示一系列地点名称的结果。使用常规图钉不是问题:它们正常显示,单击时,详细信息单元格会显示该地点的名称。

for var t = 0;t<self.parties2.count;++t                                     
    var placeLatitude:CLLocationDegrees = self.parties2[t].latitude
    var placeLongitude:CLLocationDegrees = self.parties2[t].longitude
    var placeLocation = CLLocationCoordinate2DMake(placeLatitude, placeLongitude)
    var annotation = MKPointAnnotation()
    annotation.coordinate = placeLocation
    annotation.title = self.parties2[t].name
    self.mapView.addAnnotation(annotation)

然后我用这个函数改变了引脚的外观:

func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! 
    let identifier = "pin"
    var view: MKAnnotationView
    view = MKAnnotationView(annotation: annotation, reuseIdentifier: identifier)
    var image = UIImage(named: "symbol.png")
    image = self.imageResize(image!, sizeChange: CGSizeMake(20, 20))
    view.image = image

    return view

(我使用 imageResize 函数调整 pin 图像的大小)

这个函数成功地改变了大头针的外观:它确实变成了想要的图像。但是,单击这些图像不再显示详细信息。

【问题讨论】:

【参考方案1】:

好的,我只需要将 pinView.canShowCallout = true 添加到我的代码中,我认为默认情况下它是 true,因为原始 pin 不需要它。

【讨论】:

以上是关于单击时 MapView 自定义引脚不显示详细信息的主要内容,如果未能解决你的问题,请参考以下文章

带有默认地图视图引脚的 Swift Mapview 自定义调出视图

Swift MKMapView 引脚注释问题

React Native Expo MapView - 将标记详细信息传递给扩展的底部视图

MapView 问题 - 地图重新加载时引脚更改颜色

Mapview 不显示来自引脚注释的标题或副标题

添加自定义注释引脚