javascript - 在 map 上获取可见标记的最有效方法?

标签 javascript algorithm google-maps data-structures

我有一张 map ,上面有数万/数十万个标记,目前存储在数组 ( docs for Marker Class ) 中。我需要找到当前 map 范围内的标记。

最明显的方法是遍历整个数组并检查 map 边界是否包含标记,但这不是一种有效的方法。

什么数据结构和/或算法可以帮助解决问题?

最佳答案

我会将纬度和经度值存储在某种数据库中,然后让数据库进行所有计算。然后,您所要做的就是等待 ajax 响应(这将花费 ~10 - 400 毫秒),然后将标记替换为查询中返回的新标记。渲染 50 个标记比必须在 map 上跟踪数十万个标记的位置同时循环遍历它们以查看它们是否应该显示要快得多。这还允许您的单线程 Javascript 专注于 UI 而不是复杂的计算。

关于javascript - 在 map 上获取可见标记的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45399514/

相关文章:

javascript - 如何向 Google Places API 进行查询?

javascript - 如何删除谷歌地图控件

javascript - AngularJS:如何将数据从服务传输到 Controller ?

javascript - 如何使 JavaScript Date.prototype.toString() 始终显示本地时区

algorithm - 给定文本的情感分析

algorithm - 为 { 0 ^ (3 ^ n) | 构建枚举器(打印机)| n >=0} 最多有 10 个状态,包括打印和暂停,有限的字母表?

java - 在谷歌地图上用手指自由绘图

javascript - 如何将子菜单添加到我的选项卡?

javascript - 为什么.splice总是删除最后一个元素?

algorithm - 在二维数据中查找峰值(区域)