Скрыть / удалить определенный GoogleMapsOverlay с карты Google - PullRequest
0 голосов
/ 11 ноября 2019

Я использовал файлы geojson в карте Google с помощью нескольких вариантов выбора. но когда я пытаюсь удалить оверлей, он не работает. Это мой код для добавления и удаления. мне нужно знать как удалить выбранный файл геоджон с карты

    var deckOverlay ;
    deckOverlay = new deck.GoogleMapsOverlay({
                layers: [
                    new deck.GeoJsonLayer({
                        id: 'layerId',
                        data: 'path of geojson file',
                        filled: true,
                        pointRadiusMinPixels: 2,
                        opacity: 0.5,
                        pointRadiusScale: 2000,
                        getFillColor: f => (f.properties.COLOR),
                        wireframe: true,
                        pickable: true,
                    }), +
                    new deck.ArcLayer({
                        id: 'arcs',
                        data: Layer_Id,
                        dataTransform: d => d.features.filter(f => f.properties.scalerank < 4),
                        getSourcePosition: f => [-0.4531566, 51.4709959], // London
                        getTargetPosition: f => f.geometry.coordinates,
                        getSourceColor: [0, 128, 200],
                        getTargetColor: [200, 0, 80],
                        getWidth: 1
                    })
                ]
            });   

    if (checked) {
        deckOverlay.setMap(map); // Set multiple overlays working
    }
     else {
        deckOverlay.setMap(null); // Remove Option Not Working
        deckOverlay = null; 
    }

1 Ответ

1 голос
/ 13 ноября 2019

С помощью уровня данных.

Для загрузки карты

map.data.loadGeoJson(Layer_Id); 

Для удаления определенного слоя

map.data.forEach(function (feature) {
if (feature.getProperty('myprop') == myprop) { 
map.data.remove(feature);
}
}); 

Чтобы удалить все слои

map.data.forEach(function (feature) { 
map.data.remove(feature);
}); 

FYI, используйте цветовые коды как HEX в файле JSON, а не RGB или RGBA

...