Подтвердить что ты не робот

Добавить маркер в карту Google по клику

Я удивительно изо всех сил пытаюсь найти очень простой пример того, как добавить маркер к карте Google, когда пользователь оставил клики на карте.

Я просматривал последние пару часов и консультировался с документацией API Карт Google, и был бы рад помочь!

4b9b3361

Ответ 1

После долгих исследований мне удалось найти решение.

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

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

Ответ 2

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

Ответ 3

Это фактически документальная функция, и ее можно найти

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

Ответ 4

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

Ответ 5

В настоящее время метод добавления слушателя к карте будет

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

И не

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

Ссылка