编辑: 问题 =“有没有办法循环遍历数组并检查每个位置(经/纬度)是否直接落在当前视口(viewport)内”(无法获取视口(viewport)内的所有标记)
背景:
我有一个位置数组(经纬度、纬度)。
我想要:
- 在 Google map 上,使用位置数组来显示标记。
- 用户可以滚动/缩放 map 。
- map 下方有一个按钮,因此当用户决定某个区域时,他可以单击该按钮,代码将返回视口(viewport)/ map 中包含的 ID(来自位置数组)界限。
Google 有一个 .contains,所以我想您可能会将其与类似的东西一起使用
map.getBounds().contains
并以某种方式引用每个marker.getPosition()
但我想知道是否有一种方法可以循环遍历数组并检查每个位置(长/纬度)是否直接落在当前视口(viewport)内
最佳答案
你的意思是这样的(未经测试),map是google.maps.Map对象并且需要在范围内。 markersArray 是标记数组。
for (var i=0; i< markersArray.length; i++) {
if (map.getBounds().contains(markersArray[i].getPosition())) {
// the marker is in view
} else {
// the marker is not in view
}
}
关于javascript - Google map - 根据 map 当前的视点从位置数组中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15362835/