Добавить маркер на карте Google, нажмите на
Я на удивление изо всех сил пытаюсь найти очень простой пример того, как добавить маркер(ы) на карту Google, когда пользователь щелкает левой кнопкой мыши на карте.
Я огляделся за последние пару часов и проконсультировался с документацией Google Maps API, и был бы признателен за помощь!
5 ответов:
после долгих исследований мне удалось найти решение.
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); }
это фактически документированная функция, и ее можно найти здесь
// 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); }
В настоящее время метод для добавления слушателя на карту будет
map.addListener('click', function(e) { placeMarker(e.latLng, map); });
, а не
google.maps.event.addListener(map, 'click', function(e) { placeMarker(e.latLng, map); });
@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); } }