功能setMarkers(地图,标记)中的标记有多清晰?

时间:2013-07-03 10:50:14

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

我有这个功能:

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页面中的切换按钮来隐藏和显示地图中的标记,我是怎么做到的?

P.S我尝试setMap(null),但她不起作用。

1 个答案:

答案 0 :(得分:1)

您需要保留对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)