【发布时间】:2020-03-06 22:37:18
【问题描述】:
我已通过多选将 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;
}
【问题讨论】:
-
您为什么不使用数据层来覆盖 Geojson? developers.google.com/maps/documentation/javascript/datalayer
-
是的,我使用了它,但是当我尝试删除图层时它不起作用。 'map.data.remove(Layer_Id);'
-
@LuisTavares 感谢我解决问题并发布的建议
标签: javascript google-maps google-maps-api-3 google-maps-markers deck.gl