Tambahkan penanda ke Google Map di Klik

87

Saya secara mengejutkan berjuang untuk menemukan contoh yang sangat sederhana tentang bagaimana menambahkan penanda ke Peta Google ketika pengguna mengklik kiri pada peta.

Saya telah melihat-lihat selama beberapa jam terakhir, dan membaca dokumentasi Google Maps API, dan sangat menghargai bantuan!

Andre R.
sumber

Jawaban:

169

Setelah penelitian lebih lanjut, saya berhasil menemukan solusinya.

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

function placeMarker(location) {
    var marker = new google.maps.Marker({
        position: location, 
        map: map
    });
}
Andre R.
sumber
7
Bisakah kita membuat pengguna hanya dapat menambahkan sekali? dan pindahkan penanda?
Chaibi Alaa
Plase berikan tautan sampel
Sopo
43

Di tahun 2017, solusinya adalah:

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);
}
David Corral
sumber
20

Ini sebenarnya adalah fitur yang didokumentasikan, dan dapat ditemukan di sini

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

@Chaibi Alaa, Untuk membuat pengguna hanya dapat menambahkan sekali, dan memindahkan penanda; Anda dapat mengatur penanda pada klik pertama dan kemudian mengubah posisi pada klik berikutnya.

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); 
    } 
}
Ahmed Samy
sumber
6

Saat ini metode untuk menambahkan pendengar ke peta adalah

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

Dan tidak

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

Referensi

JamesWorth
sumber
0
  1. Pertama-tama deklarasikan markernya:
this.marker = new google.maps.Marker({
   position: new google.maps.LatLng(12.924640523603115,77.61965398949724),
   map: map
});
  1. Panggil metode untuk memplot penanda saat diklik:
this.placeMarker(coordinates, this.map);
  1. Tentukan fungsinya:
placeMarker(location, map) {
    var marker = new google.maps.Marker({
        position: location,
        map: map
    });
    this.markersArray.push(marker);
}
Midnight_thoughts
sumber