Google maps 谷歌地图获取一个标记的位置

Google maps 谷歌地图获取一个标记的位置,google-maps,google-maps-api-3,google-maps-markers,algolia,Google Maps,Google Maps Api 3,Google Maps Markers,Algolia,我正在添加多个标记,我要做的是单击,获取特定标记位置 然而,目前它确实可以工作,但是它显示了创建的最后一个标记的lat和lng。如何解决这个问题,当我点击标记时,它会给出该标记的具体位置 function algolia_search(position) { clearOverlays(); var APPLICATION_ID = '75RQSC1OHE'; var SEARCH_ONLY_API_KEY = 'f2f1e9bba4d7390fc61523a04685cf12'; var

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

然而,目前它确实可以工作,但是它显示了创建的最后一个标记的lat和lng。如何解决这个问题,当我点击标记时,它会给出该标记的具体位置

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);
函数算法搜索(位置){
clearOverlays();
var应用程序_ID='75RQSC1OHE';
var搜索仅适用于API键='f2f1e9bba4d7390fc61523a04685cf12';
var指数_NAME=‘业务’;
var PARAMS={hitsPerPage:20};
//客户端+助手初始化
var algolia=algoliasearch(应用程序ID、仅搜索API密钥);
var algoliaHelper=algoliasearchHelper(algolia,索引名称,参数);
//地图初始化
algoliaHelper.on('result',函数(content){
报告(内容);
var i;
//将标记添加到地图中
对于(i=0;i
您需要在地图上设置一个列表器,以便在事件中单击。您有坐标

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

  }
var addListenerOnPoint=函数(actMark){
actMark.addListener('单击',函数()){
警报('Lat:'+actMark.position.Lat()+'Lng:'+actMark.position.Lng());
});
对于(i=0;i
不,这不起作用仍然会给我带来相同的lat和lng..不可能…此侦听器返回您在地图上单击的点的坐标..可能是,您将代码放置在了错误的位置..当我单击地图时,它会起作用,但当我单击标记时,它不会起作用。为每个markerworks awe添加一个侦听器的更新建议有些请不要警惕,因为您错过了液化天然气之后的+和结束括号;)谢谢