2013-02-15 140 views
0

我有一个小功能,点击时添加一个标记和信息窗口。但是,当我点击一个新位置时,旧位置仍然存在。我希望它被新的替代。这里是我的代码:谷歌地图apiv3标记替换旧

function MapInitialize() { 

      var mapOptions = { 
      zoom: 4, 
      center: new google.maps.LatLng(43,-77), 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
      } 

      var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 
     google.maps.event.addListener(map, 'click', function(event) { 
      var marker = new google.maps.Marker({ 
       position: event.latLng, 
       map: map 
     }) 
     var infowindow = new google.maps.InfoWindow({ 
       content: 'Content Here' 
      }); 
      infowindow.open(map,marker); 
}); 
} 

谢谢!

回答

1

创建之前删除旧的标记新一:

var marker = null; 
function MapInitialize() { 

      var mapOptions = { 
      zoom: 4, 
      center: new google.maps.LatLng(43,-77), 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
      } 

      var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 
     google.maps.event.addListener(map, 'click', function(event) { 
      if (marker && marker.setMap) marker.setMap(null); 
      marker = new google.maps.Marker({ 
       position: event.latLng, 
       map: map 
     }) 
     var infowindow = new google.maps.InfoWindow({ 
       content: 'Content Here' 
      }); 
      infowindow.open(map,marker); 
}); 
} 
+0

谢谢你,这对我的作品 – 2013-02-15 16:51:47