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

我已经通过多选将 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; 

    }


繁花如伊
浏览 232回答 1
1回答

繁花不似锦

通过使用数据层。加载地图map.data.loadGeoJson(Layer_Id);&nbsp;删除特定层map.data.forEach(function (feature) {if (feature.getProperty('myprop') == myprop) {&nbsp;map.data.remove(feature);}});&nbsp;删除所有图层map.data.forEach(function (feature) {&nbsp;map.data.remove(feature);});&nbsp;仅供参考,在 json 文件中使用颜色代码作为十六进制而不是 RGB 或 RGBA
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript