CannotAddSourceException с Mapbox на Android - PullRequest
0 голосов
/ 10 января 2019

Я получаю исключение, когда пытаюсь добавить источник на карту Mapbox на Android, даже если раньше я удалял все источники с одинаковыми именами.

Я пытаюсь удалить источник, затем слой или слой, а затем источник, и ничего не работает.

    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(), "");
    }

Я получаю:

com.mapbox.mapboxsdk.style.sources.CannotAddSourceException: источник floor_map_source уже существует. floor_map_source - это значение SOURCE.

1 Ответ

0 голосов
/ 10 января 2019

Я обнаружил проблему. На самом деле, имя слоя, которое я использовал, отличалось и мешало удалению источника. Мне пришлось добавить название старого слоя и удалить его перед установкой нового слоя.

...