I am getting an exception when I try to add a source to a Mapbox map on Android even if I delete every source with the same name before.
I have tries to delete source then layer or layer then source and nothing worked.
if (map != null){
String layerName = floor.getLayerName();
map.removeLayer(layerName);
//Remove source and layer if already selected
map.removeSource(SOURCE); //SOURCE IS A CONST
map.clear();
String url = GEOSERVER_URL_NAME;
RasterSource resource = new RasterSource(SOURCE,new TileSet("tileset",url+layerName));
map.addSource(resource);
RasterLayer webMapLayer = new RasterLayer(layerName,SOURCE);
map.addLayerBelow(webMapLayer, "com.mapbox.annotations.points");
poisViewModel.refreshPoisByName(building.getId(), floor.getId(), "");
}
I am getting:
com.mapbox.mapboxsdk.style.sources.CannotAddSourceException: Source floor_map_source already exists. floor_map_source is the value of SOURCE.
I found the issue, Actually, the layerName I was using was different and that prevent source deletion. I had to add the name of the old layer and delete it before setting the new layer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With