从 Google 地图隐藏/删除特定 GoogleMapsOverlay
Hide / Remove Specific GoogleMapsOverlay From Google Map
我通过多选将 geojson 文件用于 google 地图。但是当我尝试删除覆盖时,它不起作用。这是我用于添加和删除的代码。
我需要知道如何从地图中删除选定的 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);
});
仅供参考,在 json 文件中使用颜色代码作为 HEX,而不是 RGB 或 RGBA
我通过多选将 geojson 文件用于 google 地图。但是当我尝试删除覆盖时,它不起作用。这是我用于添加和删除的代码。 我需要知道如何从地图中删除选定的 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);
});
仅供参考,在 json 文件中使用颜色代码作为 HEX,而不是 RGB 或 RGBA