gmap v3 убрать определенный маркер - PullRequest
0 голосов
/ 01 марта 2012

чтобы убрать маркеры с карт Google, которые я использую:

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

Но что, если я хочу очистить определенные маркеры, не все, скажем, по их идентификаторам? Является ли это возможным?

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Чтобы очистить маркер от карты, нужно вызвать setMap (null) для marker .Похоже, вы используете какой-то сторонний плагин ( jquery-ui-map возможно?) Для карт Google.Если вы используете jquery-ui-map, используйте метод find, чтобы найти нужный маркер, а затем вызовите setMap(null) для него.

0 голосов
/ 02 июля 2013

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

                  }
              }
          }
      });

  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...