用点击改变标记的位置

时间:2012-07-11 11:30:39

标签: google-maps google-maps-api-3

我正在研究谷歌地图,我想要做的是点击地图它添加一个标记到地图它的工作正常但问题是我需要将相同的标记移动到一个新的地方,如果我点击一些别的地方而不是新的标记。而且当我点击任何一点时,它会在文本字段中为我提供该地点的地址

这是我的代码

   <script type="text/javascript">
var map;
var markersArray = [];

 function initialize() {
    var haightAshbury = new google.maps.LatLng(37.7699298, -122.4469157);
var mapOptions = {
    zoom: 7,
    center: haightAshbury,
    mapTypeId: google.maps.MapTypeId.ROADMAP
   };
   map =  new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

    google.maps.event.addListenerOnce(map, 'click', function(event) {
    addMarker(event.latLng);
   });
   }

   function addMarker(location) {

   marker = new google.maps.Marker({
   position: location,
   map: map
   });
   markersArray.push(marker);
   }

   // Removes the overlays from the map, but keeps them in the array
   function clearOverlays() {

    if (markersArray) {
     for (i in markersArray) {
       markersArray[i].setMap(null);
      }
    }
  }

  }

1 个答案:

答案 0 :(得分:0)

您可以在创建新标记时随时调用clearOverlays。这样您可以隐藏上一个标记,只显示新标记。 另一种方法是使用var标记,就像拥有var map一样。您可以在addMarker中编辑标记位置。 就地理编码而言,请查看this