在我的ASP.NET MVC 5应用程序中,我有一个ApiController(WebApi),其方法返回按Name排序的机构列表(存储在我的数据库中)。它工作正常。
现在我希望能够按距离对此列表进行排序。因此,使用Web服务的移动应用程序会将用户位置作为参数发送,而在服务器端,我需要计算用户位置与每个机构的位置之间的距离。
我可以使用哪些工具来执行此操作? Google Maps API?另一个?我已经搜索过,但没有找到任何有用的东西...... 如果有人知道在哪里找到如何开始这个的例子,那将非常有帮助。
更新
以下是一些更多细节:
我宁愿乘汽车到达最短路径的距离......
答案 0 :(得分:1)
假设您将每个机构的地理位置存储在数据库中(纬度+经度),使用Harvesine formula
计算2点之间的距离非常简单(此处为' s其中一些online demo在行动中)。一旦你知道距离,你就可以对结果进行排序。您还没有提供有关您正在使用的数据库的任何详细信息,但有些数据存储已经开箱即用,因此您无需在客户端进行这些计算。
另一方面,如果您没有将企业的坐标存储在数据存储区中,那么第一步当然是从某些在线服务中获取它们。有很多,只需选择最适合你的。显然,在这种情况下,此计算的性能取决于第三方服务的速度。