gmap v3清除特定标记

时间:2012-03-01 17:28:56

标签: google-maps-api-3

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

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

但是,如果我想要清除特定的标记,而不是所有的标记,那么可以用它们的ID来说明怎么办?可能吗?

2 个答案:

答案 0 :(得分:1)

从地图中清除标记的方法是调用marker上的setMap(null)。看起来你正在使用一些第三方插件(也许是jquery-ui-map?)用于谷歌地图。如果您使用的是jquery-ui-map,请使用find方法查找所需的标记,然后在其上调用setMap(null)

答案 1 :(得分:0)

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;
                      };

                  }
              }
          }
      });

  });
相关问题