Google maps 如何检查Google Maps视口中是否有任何标记?

Google maps 如何检查Google Maps视口中是否有任何标记?,google-maps,google-maps-markers,Google Maps,Google Maps Markers,检查视口中是否有任何标记的最有效方法是什么 完美的解决方案不需要逐个检查视口中包含的所有标记。使用GMap2.getBounds()查找边界框。使用glatlingbounds.containsLatLng()检查每个标记是否可见 或者,如果每个集群的值以易于访问的方式存储,则可以尝试对标记集群使用相同的方法。(我还没看过自己)我想出的最好的解决办法是 在应用程序启动时,参照标记创建一个数组-按1个坐标(即纬度)排序 使用GMap2.getBounds()获取视口边界(如paullb建议的)

检查视口中是否有任何标记的最有效方法是什么

完美的解决方案不需要逐个检查视口中包含的所有标记。

使用GMap2.getBounds()查找边界框。使用glatlingbounds.containsLatLng()检查每个标记是否可见


或者,如果每个集群的值以易于访问的方式存储,则可以尝试对标记集群使用相同的方法。(我还没看过自己)

我想出的最好的解决办法是

  • 在应用程序启动时,参照标记创建一个数组-按1个坐标(即纬度)排序
  • 使用
    GMap2.getBounds()
    获取视口边界(如paullb建议的)
  • 使用较低纬度的视口边界,并在数组中查找它(使用二进制搜索实现的最快速度)

  • 检查以下每个标记是否都适合视口(直到标记的纬度,感谢您的响应。对于3-5个标记,它的功能会很好,但随着数量增加到数百/数千(这是我的情况),这不是最优的。我认为标记群会分解为1000个标记。我尝试过,但速度相当慢。我可能已经习惯了大词。目前,我已经用c.a.1000个标记测试了ti,效果非常好,所以我想它至少可以扩展到几千个。