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