Tıklamayla Google Haritasına işaretçi ekleyin


87

Bir kullanıcı haritayı tıkladığında bir Google Haritasına nasıl işaretçi (ler) ekleneceğine dair çok basit bir örnek bulmakta şaşırtıcı bir şekilde mücadele ediyorum.

Son birkaç saattir etrafa baktım ve Google Haritalar API belgelerine baktım ve biraz yardım almaktan memnun olurum!

Yanıtlar:


169

Daha fazla araştırmadan sonra bir çözüm bulmayı başardım.

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

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

7
kullanıcıyı yalnızca bir kez ekleyebiliyor muyuz? ve işaretleyiciyi hareket ettirmek?
Chaibi Alaa

plase örnek bağlantı ver
Sopo

43

2017'de çözüm şudur:

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

20

Bu aslında belgelenmiş bir özelliktir ve burada bulunabilir

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

14

@Chaibi Alaa, Kullanıcının yalnızca bir kez ekleyebilmesi ve işaretleyiciyi hareket ettirebilmesi için; İşaretçiyi ilk tıklamada ayarlayabilir ve ardından yalnızca sonraki tıklamalarda konumu değiştirebilirsiniz.

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

6

Şu anda, dinleyiciyi haritaya ekleme yöntemi

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

Ve yok

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

Referans


0
  1. Önce işaretçiyi beyan edin:
this.marker = new google.maps.Marker({
   position: new google.maps.LatLng(12.924640523603115,77.61965398949724),
   map: map
});
  1. Tıklamadaki işaretleyiciyi çizmek için yöntemi çağırın:
this.placeMarker(coordinates, this.map);
  1. İşlevi tanımlayın:
placeMarker(location, map) {
    var marker = new google.maps.Marker({
        position: location,
        map: map
    });
    this.markersArray.push(marker);
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.