如何在谷歌地图上使用R-Tree绘制大量地图标记

1 投票
2 回答
1479 浏览
提问于 2025-04-15 23:51

我在StackOverflow和很多文章上搜索了很久,但还是没找到解决我问题的方法。

我想做的是在谷歌地图上加载20,000个标记。

R-Tree 似乎是个不错的办法,但它只在地图可见部分搜索点时有效。当地图缩小的时候,它会返回所有的点,这样就会让浏览器崩溃。

还有一个问题是拖动地图后,需要重新运行查询,这也很麻烦。

我想知道怎么才能使用R-Tree,并且解决以上所有问题。

2 个回答

0

如果你不想麻烦地处理聚类问题,那就可以在你的标记列表中设置一个固定的数量,比如几百个(这个数量可以通过用户测试来决定),然后在你放大时显示一些提示,告诉用户还有更多的标记可以查看。

2

正如所提到的,当你在缩小的视图中查看时,R-Tree并没有什么帮助。这个问题通常通过标记聚类来解决,因为在浏览器窗口中显示20,000个点并没有太大意义。

标记管理器是一个开源的JavaScript库,可以解决这个问题,但还有其他的选择。

如果标记数量非常多,你可能需要考虑服务器端的聚类(这时R-Tree可能会派上用场!)。这里有一个相关的讨论,还有它的谷歌缓存,因为在写这段文字时链接已经失效。

撰写回答