2013-04-03 201 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

這實際上是一個記錄功能,並且可以發現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); 
    } 
6

目前的方法將監聽器添加到地圖將

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,您可以在第一次點擊時設置標記,然後在隨後的點擊中更改位置。

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