Как работать с маркерами mapbox в реагировать родной? - PullRequest
0 голосов
/ 27 сентября 2018

Я работаю с response-native-mapbox-gl.У меня есть множество мест, по которым я зацикливаюсь, чтобы рисовать маркеры на карте.Но есть некоторые места, которые очень близки друг к другу и почти не видны.Я хочу сгруппировать все местоположения, которые находятся рядом друг с другом, чтобы при щелчке по нему он расширялся и показывал мне все местоположения, которые находятся в этом кластере.

В mapbox доступно <MapboxGL.ShapeSource />, но запрашивается URL-адрес, с которого следует загружать lat long.Но у меня есть массив с длиной long каждой локации.Есть ли другой способ, которым я могу сделать кластер местоположений в mapbox.

<Mapbox.MapView
 styleURL={Mapbox.StyleURL.Dark}
 zoomLevel={15}
 centerCoordinate={[locations[0].longitude, locations[0].latitude]}
 style={styles.container}
 showUserLocation={true}>

 {this.renderLocations(locations)}

</Mapbox.MapView>

рендеринг функции местоположения проходит по массиву местоположений и показывает маркеры на карте

renderLocations(locations) {
 return locations.map((loc, locIndex) => {
  return (
    <Mapbox.PointAnnotation
      key={`${locIndex}pointAnnotation`}
      id={`${locIndex}pointAnnotation`}
      coordinate={[loc.longitude, loc.latitude]}
      title={loc.name}>
      <Image source={require("../../../assets/images/marker.png")}/>
      <Mapbox.Callout title={loc.name} />
    </Mapbox.PointAnnotation>
  );
});
...