如何获取Google Map当前可视区域内显示的所有POI列表?
Google Maps Android SDK 获取当前视口显示POI列表的方案说明
- 核心结论:Google Maps Android SDK 没有提供公开接口可以直接获取当前地图视口内已经渲染为图标的所有POI全量列表,这类POI属于SDK内部渲染层的资源,没有对外暴露完整集合的访问入口,你已知的POI点击监听只能拿到单个被触发点击的POI信息,无法覆盖全量。
- Places API 无法满足你的需求的核心原因是,它返回的POI集合和地图SDK实际渲染在屏幕上的POI天然存在差异:不同缩放等级下SDK的POI显示筛选逻辑不同、部分临时运营标注POI不会同步到Places API、部分低权重POI在Places中有返回但不会在当前缩放等级下渲染,因此无法做到和屏幕显示内容完全对齐。
- 合规的可落地替代方案:你可以通过
MapStyleOptions配置自定义地图样式,隐藏SDK默认渲染的所有POI图标,之后自行请求当前地图视口范围内的POI数据,在地图上主动添加图标渲染,这样你本地维护的POI列表就和屏幕显示的内容完全匹配,可以随时获取全量数据。
内容的提问来源于stack exchange,提问作者Magnus
相关产品推荐
相关产品推荐

