我已经通过多选将 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; }
1 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
通过使用数据层。
加载地图
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);
});
仅供参考,在 json 文件中使用颜色代码作为十六进制而不是 RGB 或 RGBA
添加回答
举报
0/150
提交
取消
