使用Google地图在半径搜索中查找标记列表的最有效方法是什么?

时间:2016-12-01 23:19:15

标签: android google-maps google-maps-markers google-maps-android-api-2

在Android上使用谷歌地图,我有一个位置,在mapview上有大约1000多个标记。我需要确定哪些标记位于某个位置的半径范围内。所以,似乎使用了强力搜索,典型的答案看起来像this。但是当有很多标记时,这种效率并不高。

我搜索Android版Google地图API并未发现一种sdk方法,可以有效搜索标记列表,并返回适合半径的标记子集... Google map sdk是否支持此类型查询?如果没有,蛮力搜索是唯一的选择吗?如果只有蛮力,那么最有效的实施方式。

1 个答案:

答案 0 :(得分:1)

将标记保存在quadtree中,而不是将它们存储在常规列表中。这样,您只需要检查受所需半径影响的树节点内的标记。