Mapbox iOS相当于Android setOnPolylineClickListener

时间:2018-01-14 03:46:34

标签: ios mapbox nativescript

我查看了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的内容?

1 个答案:

答案 0 :(得分:1)

好问题!来自我的answer on GitHub: 您可以使用-mapView:didSelectAnnotation:来处理MGLPolyline上的点按。 This example显示了如何使用我们的注释API添加折线。

使用MGLLineStyleLayer,您需要实现accesses visible features的点击手势识别器。有关内置手势识别器的信息,请参阅此guide on gesture recognizers