我有一张 map ,上面有数万/数十万个标记,目前存储在数组 ( docs for Marker Class ) 中。我需要找到当前 map 范围内的标记。
最明显的方法是遍历整个数组并检查 map 边界是否包含标记,但这不是一种有效的方法。
什么数据结构和/或算法可以帮助解决问题?
最佳答案
我会将纬度和经度值存储在某种数据库中,然后让数据库进行所有计算。然后,您所要做的就是等待 ajax 响应(这将花费 ~10 - 400 毫秒),然后将标记替换为查询中返回的新标记。渲染 50 个标记比必须在 map 上跟踪数十万个标记的位置同时循环遍历它们以查看它们是否应该显示要快得多。这还允许您的单线程 Javascript 专注于 UI 而不是复杂的计算。
关于javascript - 在 map 上获取可见标记的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45399514/