Как вы центрируете карту по нажатому символу, используя MapBox и React Native? - PullRequest
0 голосов
/ 14 марта 2019

Долго пытался это сделать: 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": "Feature", "id": 1, "свойства": { "имя": "Гостиница", "icon": "сон" }, "геометрия": { "type": "Point", "координаты": [ 12.584664, 55.680532 ] } }, { "type": "Feature", "id": 2, "свойства": { "имя": "ресторан", "икона": "еда" }, "геометрия": { "type": "Point", "координаты": [ 12.585264, 55.683441 ] } } } * +1010 *

Спасибо!

1 Ответ

2 голосов
/ 19 марта 2019

Я думаю, что нашел рабочий ответ на этот вопрос, но, пожалуйста, поправьте меня, если у вас есть лучший ответ:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...