为了账号安全,请及时绑定邮箱和手机立即绑定

从 Google 地图隐藏/删除特定的 GoogleMapsOverlay

从 Google 地图隐藏/删除特定的 GoogleMapsOverlay

繁花如伊 2021-12-23 15:07:46
我已经通过多选将 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


查看完整回答
反对 回复 2021-12-23
  • 1 回答
  • 0 关注
  • 231 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号