map Marker上的setMap(null)并没有真正破坏标记(jquery-ui-map)

时间:2013-03-14 19:45:58

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

问题在于:

我想从地图中删除所有地图标记,当它们离开视口时。我有代码检查他们的位置,然后在标记上运行setMap(null)。标记消失。然后,根据Google Maps文档,我将标记本身设置为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')不会返回已删除的标记标记

0 个答案:

没有答案