Google地图:如何使用gmaps.js查找地图中的所有标记

时间:2012-10-23 07:49:15

标签: javascript google-maps

我使用gmaps.js的addMarker()创建了一些标记:

var lat= new Array();
var lng= new Array();
var title= new Array();
lat[0]=...
lng[0]=...
title[0]=...
...

for(i=0;i<lat.lenth;i++){
  map.addMarker({
    lat: lat[i],
    lng: lng[i],
    title: title[i],    
  });
}

现在,我想只获取当前显示的地图内的标记,并向表格显示网站列表。我怎样才能做到这一点?是否有来自gmaps.js的API可以轻松实现?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您需要获取地图的边界,然后查看该边界是否包含每个标记。

var bounds = map.getBounds();

for (var i=0;i<lat.length;i++) {
  var latlng = new google.maps.LatLng(lat[i], lng[i]);

  map.addMarker({
    lat: lat[i],
    lng: lng[i],
    title: title[i],    
  });

  if (bounds.contains(latlng)) {
    // add the details into an array here.  After the loop, output the contents to a div
  }
}