【发布时间】:2025-12-16 23:05:02
【问题描述】:
我正在尝试开发一个安卓程序,它可以在不使用互联网的情况下找到最近医院的位置。相反,我希望它使用 android 设备上存储的地图。这可行吗?如果是这样,任何人都可以参考我的代码吗?
我成功开发了一个使用 google API 的类似程序,这意味着它会联系服务器并使用互联网。我重用了this链接中的源代码。
但在某些情况下,我的用户可能无法访问互联网,因此迫切需要找到最近的医院。我该如何解决这个问题?
【问题讨论】:
我正在尝试开发一个安卓程序,它可以在不使用互联网的情况下找到最近医院的位置。相反,我希望它使用 android 设备上存储的地图。这可行吗?如果是这样,任何人都可以参考我的代码吗?
我成功开发了一个使用 google API 的类似程序,这意味着它会联系服务器并使用互联网。我重用了this链接中的源代码。
但在某些情况下,我的用户可能无法访问互联网,因此迫切需要找到最近的医院。我该如何解决这个问题?
【问题讨论】:
另一个更简单的解决方案是将每家医院的坐标存储在一个文件中。 在 App 中开始读取文件。
可能的文件格式:
Hospital Name, latitude, longitude, Adress Optional
然后使用 CLLocation distanceTo() 简单计算到所有医院的视线距离。然后按距离排序。
取最短的。 虽然这不是公路距离,但只要中间没有河流或铁路,它就可以工作
【讨论】:
这绝对是可能的。 您需要使用离线地图数据 - 您可以从 OpenStreetMap 项目中获取地图数据。我建议让用户在初始应用安装后选择要下载的区域,然后数据将始终可用。
稍后,位置 API 的使用不需要互联网连接。你会得到坐标,你可以用它来计算到其他坐标的距离(医院..)。
显然,您面临的挑战将是创建一个硬编码的医院位置列表(尽管可以更新,但请确保应用可以在互联网存在时下载新列表,例如下载 XML 文件)。
【讨论】: