簡體   English   中英

如何刪除單一標記的Google Maps API v3

[英]how to remove single marker google maps api v3

我嘗試使用clearoverlays()刪除Google Maps標記,但是我無法解決該問題..我要做的所有事情就是從地圖中刪除單個標記。 但我只能刪除所有標記。 我已經為我的代碼使用數組..這是我的代碼

   <!DOCTYPE html>
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
var map;
var myCenter=new google.maps.LatLng(51.508742,-0.120850);
var markers = [];

function initialize()
{
var mapProp = {
  center:myCenter,
  zoom:5,
  mapTypeId:google.maps.MapTypeId.ROADMAP
  };

  map = new google.maps.Map(document.getElementById("googleMap"),mapProp);

  google.maps.event.addListener(map, 'click', function(e) {
    placeMarker(e.latLng);
  });

  google.maps.event.addListener(map, 'rightclick', function(){
    clearOverlays();
  });

}

function placeMarker(e) {

  var marker = new google.maps.Marker({
    position: e,
    map: map,
  });
  var infowindow = new google.maps.InfoWindow({
    content: 'Latitude: ' + e.lat() + '<br>Longitude: ' + e.lng()
  });
  infowindow.open(map,marker);
  markers.push(marker);
}

function setAllMap(map) {
  for (var i = 0; i < markers.length; i++) {
    markers[i].setMap(map);
  }
}

// Removes the overlays from the map, but keeps them in the array.
function clearOverlays() {
  for (var i = markers.length; i > 0; i--){
        markers[markers.length-i].setMap(null);
  }
}

// Shows any overlays currently in the array.
function showOverlays() {
  setAllMap(map);
}

// Deletes all markers in the array by removing references to them.
function deleteOverlays() {
  clearOverlays();
  markers = [];
}


google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
<input onclick="clearOverlays();" type=button value="Hide Overlays">
      <input onclick="showOverlays();" type=button value="Show All Overlays">
      <input onclick="deleteOverlays();" type=button value="Delete Overlays">
      <input onclick="deleteMarker(marker);" type=button value="delete mark">
</body>
</html>

好的,這是從Google地圖中刪除單個標記的簡單技巧。

var icon = "icon.png";

                var marker = new google.maps.Marker({
                position: myLatlng,
                map: map,
                title: 'I am from Nepal.',
                icon: icon,
                });

如果您是photoshop怪胎,請將圖標大小設置為1px,減少不透明度以使其透明..它將像魅力一樣..玩得開心..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM