2013-04-03 17 views
64

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

私は過去数時間を振り返り、Google Maps APIのドキュメントを参照していただき、ありがとうございます。

答えて

122

さらに詳しい研究の結果、私は解決策を見つけることができました。

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

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

は、我々は一度だけ追加するユーザーができるようにすることができますか?マーカーを動かす? –

+0

素晴らしい、私のために働いた。 – Pupil

16

これは実際に文書化された特徴である、となりマップにリスナーを追加するために現在

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

here方法を見つけることができます

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

そしてない

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

Reference

2

@Chaibi Alaa @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); } } 
19

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); 
} 
関連する問題