0

我有这个功能:

function setMarkers(map, markers) {
        for (var i = 0; i < markers.length; i++) {
            var stores = markers[i];
            var siteLatLng = new google.maps.LatLng(stores[1], stores[2]);

            var marker = new google.maps.Marker({
                position: siteLatLng,
                icon: image,
                map: map,
                title: stores[0],
                html: stores[4]
            });

            google.maps.event.addListener(marker, "click", function () {
                infowindow.setContent(this.html);
                infowindow.open(map, this);
            });
        }
    }

我需要 html 页面中的切换按钮来隐藏和显示地图中的标记,我该怎么做?

PS 我尝试 setMap(null),但她不工作。

4

1 回答 1

0

您需要保留对 google.maps.Marker 对象的引用。

var gmarkers = [];

function setMarkers(map, markers) {
    for (var i = 0; i < markers.length; i++) {
        var stores = markers[i];
        var siteLatLng = new google.maps.LatLng(stores[1], stores[2]);

        var marker = new google.maps.Marker({
            position: siteLatLng,
            icon: image,
            map: map,
            title: stores[0],
            html: stores[4]
        });
        gmarkers.push(marker);
        google.maps.event.addListener(marker, "click", function () {
            infowindow.setContent(this.html);
            infowindow.open(map, this);
        });
    }
}

然后隐藏第一个标记gmarkers[0].setMap(null)

于 2013-07-03T14:01:52.867 回答