删除标记Google地图

时间:2014-02-28 09:20:05

标签: jquery google-maps google-maps-api-3

我有一个谷歌地图的问题,我用ajax填充标记(与.each) 我不使用任何数组

function parks() {
        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: '/index.php/route/getParks', 
            success: function(data) {
                $.each(data.results, function(k,e){
                    var myLatlng = new google.maps.LatLng(e.lat,e.lng);
                    var marker = new google.maps.Marker({
                        position: myLatlng,
                        map: mapg,
                        title: 'Places',
                    });
                })
            }
        });
    }

是否有解决方案或我被迫使用数组?

由于

1 个答案:

答案 0 :(得分:1)

你不希望没有数组。你需要搜索整个mapg对象,找到关于标记的相应区域,找到你的标记和bla bla bla;很痛苦。特别是使用单字母变量名。

相反,定义一个全局标记数组:markers = new Array();

添加标记时填充数组:

$.each(data.results, function(k,e){
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(e.lat,e.lng),
        map: mapg,
        title: 'Places',
        id: k // you may want to give another value for easy recognition
    });

    // you may add like markers["myPlace"] = marker; for easy recognition
    markers.push(marker); 
});

然后,您可以通过查看markers数组并从地图中删除来获取标记:

markers["myPlace"].setMap(null);
// or you can search by id by looking markers[index].id in a loop