在Android地图上处理大型覆盖项目的最佳实践
我需要告诉用户附近的自动取款机在哪里。问题是银行是否有10000台自动取款机 当我使用地图进行网络编程时,我通常只在可视区域加载ATM。当用户进行平移或缩小时,我请求后端服务器提供更多ATM并重新绘制所有覆盖项。但我认为我们不能在移动设备上使用这种技术 如果我使用来自的技术,我会获得性能上的成功 处理这个问题的最佳方法是什么?我们知道有一些担忧:在Android地图上处理大型覆盖项目的最佳实践,android,maps,android-maps,Android,Maps,Android Maps,我需要告诉用户附近的自动取款机在哪里。问题是银行是否有10000台自动取款机 当我使用地图进行网络编程时,我通常只在可视区域加载ATM。当用户进行平移或缩小时,我请求后端服务器提供更多ATM并重新绘制所有覆盖项。但我认为我们不能在移动设备上使用这种技术 如果我使用来自的技术,我会获得性能上的成功 处理这个问题的最佳方法是什么?我们知道有一些担忧: 装载所有自动取款机将消耗大量内存 在可视区域加载ATM可能会消耗大量的数据连接,因为用户需要平移。(我也不知道如何获得可见的坐标边框) 我做了一些实验
谢谢您可以通过将接近的ATM分组到一个唯一点来过滤服务器发送回的ATM列表,从而实现搜索结果显示的规模依赖性。您可以通过将接近唯一点的ATM分组来过滤服务器发送回的ATM列表,从而实现搜索结果显示的缩放依赖性。您没有发布代码,因此我不知道您是否遵循我认为最好的方法: 1-创建ItemizeOverlay 2-将所有项目(ATM)添加到itemizedOverlay 3-调用填充() 4-只有在完成所有这些之后,才应该将ItemizeOverlay添加到mapview.getoverlays()中 如果内存中已经有10000个ATM,那么几乎可以立即执行前面的步骤。在移动或缩放地图时,可能需要一些时间来重新绘制屏幕,并显示所有这些标记 如果您是从数据库获取ATM,那么我建议使用AsynkTask来避免获取ANR消息
祝你好运。你没有发布你的代码,所以我不知道你是否遵循了我认为最好的方法: 1-创建ItemizeOverlay 2-将所有项目(ATM)添加到itemizedOverlay 3-调用填充() 4-只有在完成所有这些之后,才应该将ItemizeOverlay添加到mapview.getoverlays()中 如果内存中已经有10000个ATM,那么几乎可以立即执行前面的步骤。在移动或缩放地图时,可能需要一些时间来重新绘制屏幕,并显示所有这些标记 如果您是从数据库获取ATM,那么我建议使用AsynkTask来避免获取ANR消息
祝你好运。你可以限制服务器发送回的ATM位置数量?你听说过地图群集吗?“搜索这个关键词。这可能是另一种方法。”我想,我会像使用基于网络的谷歌地图一样使用边界检测。基于边界加载数据。谢谢。您可以限制服务器发送回的ATM位置的数量?您听说过地图群集吗?“搜索这个关键词。这可能是另一种方法。”我想,我会像使用基于网络的谷歌地图一样使用边界检测。基于边界加载数据。谢谢