【问题标题】:An array of infoWindow in Google maps apiGoogle 地图 api 中的 infoWindow 数组
【发布时间】:2012-08-23 16:26:56
【问题描述】:

我查找错误但找不到。由于某种原因,任何谷歌地图信息窗口总是显示相同的信息。

这是一个咖啡脚本代码

infowindow = new google.maps.InfoWindow()
for company in companiesData
  marker = new google.maps.Marker({
    position: new google.maps.LatLng(company.latitude, company.longitude)
    map: map
  })

  #debugger ---> each company.name is different!
  google.maps.event.addListener(marker, 'click', ()->
    infowindow.setContent(company.name)
    infowindow.open(map,this)
  )

我对其进行了调试,发现每个 company.name 都不相同。

输出的javascript

  infowindow = new google.maps.InfoWindow();
  _results = [];
  for (_j = 0, _len1 = companiesData.length; _j < _len1; _j++) {
    company = companiesData[_j];
    marker = new google.maps.Marker({
      position: new google.maps.LatLng(company.latitude, company.longitude),
      map: map
    });
    _results.push(google.maps.event.addListener(marker, 'click', function() {
      infowindow.setContent( company.name);
      return infowindow.open(map, this);
    }));
  }
  return _results;
});

那么哪里出错了?

【问题讨论】:

    标签: google-maps-api-3 coffeescript


    【解决方案1】:

    您需要关闭可变公司。您可以通过在单独的函数中创建标记来做到这一点。例如:

    infowindow = new google.maps.InfoWindow()
    for(var n = 0 ; n < n companiesData.length ;n++){
      createMarker(companiesData[n]);
    }
    
    function createMarker(data){
      var marker = new google.maps.Marker({
        position: new google.maps.LatLng(parseFloat(data.latitude), parseFloat(data.longitude)),
        map: map
      })
    
      #debugger ---> each company.name is different!
      google.maps.event.addListener(marker, 'click', function(){
        infowindow.setContent(data.name);
        infowindow.open(map,this);
      }
      )
    }
    

    Explanation here.

    【讨论】:

    • 查看我在回复底部发布的链接,其中显示“此处说明”。
    【解决方案2】:

    我也有同样的情况...尝试在单独的函数中创建标记。它对我有帮助。

    检查一下: https://developers.google.com/maps/articles/phpsqlsearch_v3

    使用“searchLocationsNear(center)”函数查找代码。

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-21
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      相关资源
      最近更新 更多