【问题标题】:setVisible(false) removes marker but not setMap(null)setVisible(false) 删除标记但不删除 setMap(null)
【发布时间】:2012-04-03 10:53:33
【问题描述】:

我正在使用 Google Maps API V3 在地图上放置一些标记。由于多个标记具有相同的 LatLng,可能存在重叠标记,因此我尝试使用 setMap(null)setVisible(false) 删除除第一个标记之外的所有重叠标记。

问题:在标记上使用setMap(null) 时,该函数似乎没有执行任何操作,标记仍保留在地图上。但是,如果使用setVisible(false),标记确实会消失。

知道为什么会这样吗?

我还注意到,使用的标记聚类器插件确实计算了所有已经是 setVisible(false)setMap(null) 的重复标记,

JS 代码

$.getJSON(getJSON_url, 
    {
        someValues: someValues
    }, 
    function(json){

        for( i = 0; i < json.length; i++) {

            // Check if marker already exist at that LatLng
            var duplicate_marker = 0;
            for( var j = 0; j < markers.length; j++) {
                // If marker exists
                if( json[i].lat == markers[j].getPosition().lat() && json[i].lng == markers[j].getPosition().lng()) {   
                    console.log( json[i].lat + ' ' +  json[i].lng + ' ' + i + ' ' + markers[j].getPosition().lat() + ' ' + markers[j].getPosition().lng() + ' ' + j);
                    duplicate_marker = 1;
                    break;
                }
            }

            // Place markers on map
            var latLng = new google.maps.LatLng(json[i].lat, json[i].lng);
            var marker = new google.maps.Marker({
                position: latLng,
                icon: base_url + 'images/template/markers/listing.png',
                map: map
            });
            markers.push(marker);

            // Make duplicate marker invisible
            if(duplicate_marker) {
                //marker.setMap(null);
                marker.setVisible(false);
            }

【问题讨论】:

  • 为什么不创建重复标记?或者至少创建没有map 参数的标记,然后在检查后设置它?

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


【解决方案1】:

您提到了集群器的使用。群集器通过调用 setMap 显示和隐藏各个标记,因此它可能会覆盖您对 setMap(null) 的调用。但由于它尊重 setVisible ,因此它们不会出现。从集群器中删除重复标记或根本不创建它们

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 2020-04-22
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    相关资源
    最近更新 更多