如何制作MGLPolyline可敲击?

时间:2017-04-28 15:28:49

标签: ios swift mapbox

我目前正在寻找一种方法来制作一条路线(MGPLPolyline),以便用户可以在Mapbox下选择两条可能的路线。不幸的是,路径注释似乎根本不具备可接受性:

虽然我已正确设置MGLMapViewDelegate此方法:

func mapView(_ mapView: MGLMapView, didSelect annotation: MGLAnnotation)

永远不会调用

我错过了什么,知道每一行都是从MGLPolyline继承的,MGLAnnotationpq: invalid byte sequence for encoding "UTF8": 0xe3 0xb0 0xc4 的一个子类(我应该是可以点击的......)。

2 个答案:

答案 0 :(得分:1)

遗憾的是,Mapbox iOS API尚不支持。 ContextBinding

您可以尝试使用该链接中的一些解决方法。

更新: 现在可以:See here

答案 1 :(得分:0)

您可以执行以下操作:

首先,在创建折线时,请执行以下操作:

let polyline = CustomPolyline(coordinates: &coordinates, count: UInt(coordinates.count))

polyline.title = "" //It does not seem to matter what you set it to.

polyline.color = .darkGray

然后在以下方法中返回false:

 func mapView(_ mapView: MGLMapView, annotationCanShowCallout annotation: MGLAnnotation) -> Bool {
    // Always allow callouts to popup when annotations are tapped.
    print("ran?")
    return false
}