从地图数据中删除特定多边形

Removing a particular polygon from maps data

本文关键字:多边形 删除 地图 数据      更新时间:2023-09-26

我正在使用addGeoJson方法生成多边形,但我不确定以后如何在需要时删除特定的多边形。这是我的代码

var __layers;
 var layer = new google.maps.Data();
        $.ajax({
            url: url,
            type: 'POST',
            success:function(data) {
                __layers = layer.addGeoJson(data);
                layer.setMap(map1);
                layer.setStyle(style);
            }
        });

我正试图删除这样的数据,但它不起作用

map1.data.remove(__layers[0]);

_layers的初始化方式似乎是罪魁祸首。您可以尝试layer.setMap(null)或按照以下修改您的代码

var __layers = [];
 var layer = new google.maps.Data();
        $.ajax({
            url: url,
            type: 'POST',
            success:function(data) {
                __layers.push(layer.addGeoJson(data));
                layer.setMap(map1);
                layer.setStyle(style);
            }
        });

然后使用

map1.data.remove(__layers.pop());