我试图让这张地图在任何时候只允许在页面上放一个标记,但是当我点击一个新标记与旧标记一起放置时。
有谁知道你会如何实现这一目标?
google.maps.event.addListener(map, 'click', function(event) {
//set up variables
var clickLat = event.latLng.lat();
var clickLng = event.latLng.lng();
//show lat and long
var loc = document.getElementById("location");
var info = "Latitude: "+clickLat+" "+", longitude: "+clickLng;
loc.innerHTML = info;
//place marker
var marker = new google.maps.Marker({
position: new google.maps.LatLng(clickLat, clickLng),
map: map,
animation: google.maps.Animation.DROP
});
});
答案 0 :(得分:4)
我相信您的答案在Google Maps API中。您只需将旧标记的地图设置为null。
阅读本文:http://code.google.com/apis/maps/documentation/javascript/overlays.html#RemovingOverlays
答案 1 :(得分:2)
另一种选择是拥有一个标记变量,并在有人点击地图时更新标记的位置。
答案 2 :(得分:0)
声明标记字段:
private Marker marker;
然后,对于GoogleMap对象的setOnMapClickListener方法,请执行以下操作:
@Override
public void onMapClick(LatLng point) {
if(marker!=null) marker.remove();
markerSelectedPlace = new MarkerOptions().position(point).title(
"dfsdfsdfs dfsdfsdf");
marker = mMap.addMarker(markerSelectedPlace);
mMap.addMarker(markerSelectedPlace);
marker.showInfoWindow();
}