使用VectorSource时,单击时更改SymbolLayer属性

时间:2019-06-11 06:47:36

标签: android mapbox mapbox-android

我一直在遵循Mapbox提供的指南,以熟悉SymbolLayers以及如何在地图上操纵其属性。

https://blog.mapbox.com/a-guide-to-the-android-symbollayer-api-5daac7b66f2c

我遇到问题的关键步骤是第5步,它们更新了MapClick的iconSize属性。在将属性添加到选定的Feature之后,指南说要调用source.setGeoJson(featureCollection);以便重置图层的来源。

我正在使用的项目使用VectorSource作为SampleLayer的数据源,而不是示例中使用的GeoJsonSource。问题是VectorSource没有提供类似setGeoJson的方法,因此更改属性后,我无法重置图层源。

该如何解决此问题而不必更改我们的所有源数据?

for (Feature feature : featureCollection.getFeatures() {
  if (feature.getStringProperty("title").equals(selectedFeature.getStringProperty("title"))) {
    feature.getProperties().addProperty("selected", true);  
  }
}

source.setGeoJson(featureCollection);

该示例的完整源代码可以在这里找到:https://github.com/mapbox/mapbox-android-demo/blob/286f33d848c9fea48de908b144682081961b986b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/SymbolLayerMapillaryActivity.java

0 个答案:

没有答案