0

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

这是我的代码

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

  }
4

1 回答 1

0

您可以在创建新标记的任何时候调用 clearOverlays。这样您可以隐藏以前的标记,只显示新的标记。另一种方法是像拥有 var 映射一样拥有 var 标记。您可以在 addMarker 中编辑标记位置。就地理编码而言,看看这个

于 2012-07-11T12:22:22.040 回答