【问题标题】:gmap v3 clear specific markergmap v3 清除特定标记
【发布时间】:2012-03-01 17:28:55
【问题描述】:

从我使用的谷歌地图中清除标记:

mapContent.gmap('clear', 'markers');

但是,如果我想清除特定标记,而不是全部,比如说他们的 ID,该怎么办?可能吗?

【问题讨论】:

    标签: google-maps-api-3


    【解决方案1】:

    从地图中清除标记的方法是调用 marker 上的 setMap(null)。看起来您正在为谷歌地图使用一些第三方插件(jquery-ui-map 也许?)。如果你使用jquery-ui-map,使用find方法找到你想要的标记,然后调用setMap(null)就可以了。

    【讨论】:

      【解决方案2】:

      marker.setMap(null) 只会清除标记覆盖。它不会破坏标记。因为“清楚”是潜在的。我也想清除标记并销毁我单击的标记。我有一个我愿意分享的工作演示。虽然我使用了 marker.setMap(null) 它只隐藏了标记。我还没有找到彻底摧毁它的方法。

      jsFiddle:

      jsfiddle.net/ryanverdel/WRyrJ/

      代码:

        $(document).ready(function () {
      
            var markerCount = 0;
      
            $("#test1").gmap3({
                map: {
                    options: {
                        center: [-2.2214281090541204, -78.695068359375],
                        zoom: 8,
                        mapTypeId: google.maps.MapTypeId.ROADMAP,
                        mapTypeControl: true,
                        mapTypeControlOptions: {
                            style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
                        },
                        navigationControl: true,
                        scrollwheel: true,
                        disableDoubleClickZoom: true,
                        streetViewControl: false,
      
                    },
                    events: {
      
      
                        click: function (map, event) {
      
                            if (markerCount < 10) {
      
      
                                $(this).gmap3(
      
                                {
                                    marker: {
                                        latLng: event.latLng,
                                        options: {
                                            draggable: true,
                                            animation: google.maps.Animation.DROP,
                                        },
      
      
      
                                        events: {
                                            click: function (marker) {
      
                                                marker.setMap(map);
                                                marker.setMap(null);
                                                marker = null;
                                                delete marker;
                                                console.log(marker);
      
                                                markerCount--;
                                            },
      
                                            dragend: function (marker) {
                                                $("#inputArray").empty();
      
                                                setTimeout(function () {
                                                    var markers = $("#test1").gmap3({
                                                        get: {
                                                            all: true
                                                        }
                                                    });
      
                                                    $.each(markers, function (i, marker) {
      
                                                        $("#inputArray").append('<p>{"latitude":' + marker.position.lat() + ', ' + '"longitude":' + marker.position.lng() + '},' + '</p>');
                                                    });
                                                }, 400);
      
      
      
                                            }
      
      
                                        },
      
      
                                    },
      
      
                                });
      
                                markerCount++;
      
                                $("#inputArray").empty();
      
                                setTimeout(function () {
                                    var markers = $("#test1").gmap3({
                                        get: {
                                            all: true
                                        }
                                    });
      
                                    $.each(markers, function (i, marker) {
      
                                        $("#inputArray").append('<p>{"latitude":' + marker.position.lat() + ', ' + '"longitude":' + marker.position.lng() + '},' + '</p>');
                                    });
                                }, 400);
      
                            } else {
                                return false;
                            };
      
                        }
                    }
                }
            });
      
        });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-25
        • 1970-01-01
        • 2011-05-07
        • 1970-01-01
        • 2016-02-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多