我查看了iOS Mapbox SDK,找不到与Android SDK setOnPolylineClickListener相同的内容。
该项目正在使用NativeScript(不是问题),因此代码将是TS从Mapbox SDK调用本机iOS部分。
目前的做法:
const shape = MGLShape.shapeWithDataEncodingError(
geo,
NSUTF8StringEncoding
);
const source = MGLShapeSource.alloc().initWithIdentifierShapeOptions(
polylineID,
shape,
null
);
theMap.style.addSource(source);
const layer = MGLLineStyleLayer.alloc().initWithIdentifierSource(
polylineID,
source
);
我无法在API中找到允许某人在iOS的形状或图层上设置点击/点击监听器(事件)的任何内容。 iOS SDK是否没有为此公开类似Android的内容?
答案 0 :(得分:1)
好问题!来自我的answer on GitHub:
您可以使用-mapView:didSelectAnnotation:
来处理MGLPolyline
上的点按。 This example显示了如何使用我们的注释API添加折线。
使用MGLLineStyleLayer
,您需要实现accesses visible features的点击手势识别器。有关内置手势识别器的信息,请参阅此guide on gesture recognizers。