如何使用MapBox和React Native将地图集中在单击的符号上?

时间:2019-03-14 16:34:23

标签: react-native mapbox

花了很长时间尝试这样做:Mapbox在这里展示了如何做,但是我不确定它在React Native中是如何工作的: https://docs.mapbox.com/mapbox-gl-js/example/center-on-symbol/

我正在使用ShapeSource和SymboLayer,从geoJson获取我的标记。我似乎无法针对特定图标及其坐标。我已经尝试过类似的操作,但是它只是到第一个功能位置(而不是单击的特定图标的位置):

onPress = {()=> {this._map.flyTo(featureCollection.features.geometry(0).coordinates,1000);}}

我的功能如下:

{   “ type”:“ FeatureCollection”,   “特征”: [     {       “ type”:“功能”,       “ id”:1       “属性”:{         “名称”:“酒店”,         “ icon”:“睡觉”       },       “几何”:{         “ type”:“ Point”,         “坐标”:[           12.584664,           55.680532         ]       }     },     {       “ type”:“功能”,       “ id”:2       “属性”:{         “名称”:“餐厅”,         “ icon”:“食物”       },       “几何”:{         “ type”:“ Point”,         “坐标”:[           12.585264,           55.683441         ]       }     } }

谢谢!

1 个答案:

答案 0 :(得分:2)

我想我已经找到了一个可行的答案,但是如果您有更好的答案,请纠正我:

constructor(props) {
    super(props);
    this.onPress = this.onPress.bind(this);
  }

  async onPress(e) {
    const feature = e.nativeEvent.payload;
    this.map.flyTo(feature.geometry.coordinates, 1000);