ユーザーが地図をクリックしたときにGoogleマップにマーカーを追加する方法の非常に簡単な例を見つけるのに驚くほど苦労しています。
私は過去数時間見回し、Google Maps APIドキュメントを参照しました。
さらに研究を重ねた結果、解決策を見つけることができました。
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});
function placeMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
}
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);
}
これは実際に文書化された機能であり、見つけることができます 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);
}
@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); } }
現在、マップにリスナーを追加するメソッドは次のようになります
map.addListener('click', function(e) {
placeMarker(e.latLng, map);
});
ではない
google.maps.event.addListener(map, 'click', function(e) {
placeMarker(e.latLng, map);
});