2012-03-01 42 views
0

清除從谷歌地圖標記的使用:GMAP V3明確的特異性標誌物

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

但是,如果我想清楚了特異性標誌物是什麼,不是所有的,客戶可以通過其ID說呢?可能嗎?

回答

1

從地圖上清除標記的方法是調用marker上的setMap(null)。它看起來像你正在使用一些第三方插件(jquery-ui-map也許?)谷歌地圖。如果您使用的是jquery-ui-map,請使用find方法找到您想要的標記,然後在其上調用setMap(null)

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

        } 
       } 
      } 
     }); 

    });