标签: android google-maps google-maps-markers google-maps-android-api-2
在Android上使用谷歌地图,我有一个位置,在mapview上有大约1000多个标记。我需要确定哪些标记位于某个位置的半径范围内。所以,似乎使用了强力搜索,典型的答案看起来像this。但是当有很多标记时,这种效率并不高。
我搜索Android版Google地图API并未发现一种sdk方法,可以有效搜索标记列表,并返回适合半径的标记子集... Google map sdk是否支持此类型查询?如果没有,蛮力搜索是唯一的选择吗?如果只有蛮力,那么最有效的实施方式。
答案 0 :(得分:1)
将标记保存在quadtree中,而不是将它们存储在常规列表中。这样,您只需要检查受所需半径影响的树节点内的标记。