web-dev-qa-db-ja.com

クリック時にGoogleマップにマーカーを追加

ユーザーが地図をクリックしたときにGoogleマップにマーカーを追加する方法の非常に簡単な例を見つけるのに驚くほど苦労しています。

私は過去数時間見回し、Google Maps APIドキュメントを参照しました。

80
Andre R.

さらに研究を重ねた結果、解決策を見つけることができました。

google.maps.event.addListener(map, 'click', function(event) {
   placeMarker(event.latLng);
});

function placeMarker(location) {
    var marker = new google.maps.Marker({
        position: location, 
        map: map
    });
}
159
Andre R.

2017年のソリューションは次のとおりです。

map.addListener('click', function(e) {
    placeMarker(e.latLng, map);
});

function placeMarker(position, map) {
    var marker = new google.maps.Marker({
        position: position,
        map: map
    });
    map.panTo(position);
}
37
David Corral

これは実際に文書化された機能であり、見つけることができます here

// This event listener calls addMarker() when the map is clicked.
  google.maps.event.addListener(map, 'click', function(e) {
    placeMarker(e.latLng, map);
  });

  function placeMarker(position, map) {
    var marker = new google.maps.Marker({
      position: position,
      map: map
    });  
    map.panTo(position);
  }
20
epson121

@Chaibi Alaa、最初のクリックでマーカーを設定し、その後のクリックで位置を変更することができます。

var marker;

google.maps.event.addListener(map, 'click', function(event) {

   placeMarker(event.latLng);

});

function placeMarker(location) {

 if (marker == null)
 {
   marker = new google.maps.Marker({
      position: location,
      map: map
  }); } else {   marker.setPosition(location); } }
8
Ahmed Samy

現在、マップにリスナーを追加するメソッドは次のようになります

map.addListener('click', function(e) {
    placeMarker(e.latLng, map);
});

ではない

google.maps.event.addListener(map, 'click', function(e) {
    placeMarker(e.latLng, map);
});

参照

6
JamesWorth