Google 地图获取标记的位置

Google maps get position of an marker

我正在添加多个标记,我想做的是点击,获取特定的标记位置。

但是目前它确实可以工作,但是它会显示最后创建的标记的纬度和经度。如何解决这个问题,以便当我单击标记时它会给我该标记的特定位置。

function algolia_search(position) {
  clearOverlays();
var APPLICATION_ID = '75RQSC1OHE';
var SEARCH_ONLY_API_KEY = 'f2f1e9bba4d7390fc61523a04685cf12';
var INDEX_NAME = 'businesses';
var PARAMS = { hitsPerPage: 20 };
// Client + Helper initialization
var algolia = algoliasearch(APPLICATION_ID, SEARCH_ONLY_API_KEY);
var algoliaHelper = algoliasearchHelper(algolia, INDEX_NAME, PARAMS);
// Map initialization
algoliaHelper.on('result', function(content) {
    renderHits(content);
  var i;
  // Add the markers to the map
  for (i = 0; i < content.hits.length; ++i) {
    var hit = content.hits[i];
    var marker = new google.maps.Marker({
      position: {lat: hit._geoloc.lat, lng: hit._geoloc.lng},
      map: map,
      label: hit._geoloc.slug,
      animation: google.maps.Animation.DROP
    });
    markers.push(marker);
     marker.addListener('click', function() {
      var destinationLat = marker.getPosition().lat();
      var destinationLng = marker.getPosition().lng();
      console.log(lat);
      console.log(lng);
      console.log(destinationLat);
      console.log(destinationLng);

你需要一个地图上的监听器来点击event.latLng你有坐标

google.maps.event.addListener(map, 'click', function(event) {
    alert ( 'Lat : '  + event.latLng.lat() + ' Lng : ' + event.latLng.lng())
});

如果您已经将标记放在地图上,您可以使用闭包

  var addListenerOnPoint = function(actMark){

    actMark.addListener('click', function() {
         alert ( 'Lat : '  + actMark.position.lat() + ' Lng : ' +actMark.position.lng());
    });


  for (i = 0; i < content.hits.length; ++i) {
      var hit = content.hits[i];
      var marker = new google.maps.Marker({
      position: {lat: hit._geoloc.lat, lng: hit._geoloc.lng},
      map: map,
      label: hit._geoloc.slug,
      animation: google.maps.Animation.DROP
    });
    addListenerOnPoint(marker, 
                  );
    markers.push(marker);

  }