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 を呼び出すことができます。この方法では、前のマーカーを非表示にし、新しいマーカーのみが表示されます。もう 1 つの方法は、var マップと同じように var マーカーを使用することです。addMarker でマーカーの位置を編集できます。ジオコーディングに関する限り、これを見てください

于 2012-07-11T12:22:22.040 に答える