隐藏/删除特定的谷歌地图覆盖谷歌地图



我已经通过多选将geojson文件使用到谷歌地图中。但当我试图删除覆盖时,它不起作用。这是我用于添加和删除的代码。我需要知道如何从地图中删除选定的geojson文件

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; 
}

通过使用数据层。

加载地图

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,在json文件中使用颜色代码作为HEX,而不是RGB或RGBA

相关内容

  • 没有找到相关文章

最新更新