我需要为现有应用程序开发一个基于位置的扩展程序,允许用户查看他们周围的所有其他用户(在固定的空中距离内)。现有应用程序是使用 Axis(Web 服务)+ Spring + Hibernate + MySQL 开发的。
要求是:
- Java 框架(最好是开源的,除非商业解决方案有很大的优势)。与 Hibernate、Spring 等集成优先。
- 用户需要使用标准 API(即 SOAP 或 REST)在设定的时间段内更新他/她的位置
- 用户需要能够通过发送纬度和经度或美国地址来更新位置。
- 如果 GPS 不可用,可能会对某些设备使用信号塔和/或 wifi 数据。
- 无需步行或驾车路线。不需要开车或步行距离,只需大致的空中距离。
- 该应用程序的用户不断移动(销售人员)并在设定的时间段内(每约 15 分钟)更新他们的位置
- 项目将来可能会改变以处理其他兴趣点(即仓库位置、客户位置),但这些兴趣点可能会处于固定的物理位置(与不断移动的用户相比)。
- 围绕特定用户检索用户的性能至关重要;因此将更喜欢内存映射(而不是数据库查询)。
- 此时无需渲染地图。不过这可能会改变。
我听过或看过以下术语和框架,但我不确定它们是什么意思以及使用哪一个:
- ESRI
- 形状文件
- 地理服务器
- 地理工具
- 地理信息系统
我将非常感谢简要概述我需要采取的步骤来开发这样一个项目,是否以及如何使用上述工具,哪些数据(即 GPS、Wifi、蜂窝塔)是免费提供的,我们需要哪些支付。
对一些教程或书籍的参考将不胜感激。
谢谢!