我一直在遵循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);