0

这是问题所在:

当它们离开视口时,我想从地图中删除所有地图标记。我有检查它们位置的代码,然后在标记上运行 setMap(null)。标记消失。然后,根据 Google 地图文档,我将标记本身设置为 null 以销毁它。

问题是 jquery-maps-ui 的检索地图标记的功能仍然包括已删除的标记!

function cleanUpMarkers(map) {
        console.log("$('#map_canvas').gmap('get', 'markers').length = " +  $('#map_canvas').gmap('get', 'markers').length);
        $.each($('#map_canvas').gmap('get', 'markers'), function (i, marker) {
            if (!map.getBounds().contains(marker.getPosition())) {
                console.log(marker.internalId);
                marker.setMap(null);
                marker = null;
                delete marker;


                //console.log(marker.internalId);

            }
        });
        console.log("$('#map_canvas').gmap('get', 'markers').length = " + $('#map_canvas').gmap('get', 'markers').length);

    }

我怎样才能真正删除标记,以便$('#map_canvas').gmap('get', 'markers')不返回已删除的标记?

4

0 回答 0