我被要求创建一个网络应用程序,该应用程序使用用户当前位置来确定到给定地点的距离。 我从来没有遇到过这样的问题,所以我正在寻找一些准则,有效的技术/图书馆,允许实施这样的机制,也有一些有经验的人的专业提示将非常感激。 我经常使用Ruby on Rails / Django开发我的应用程序,但如果有益,我可以适应其他技术。我做了研究,发现了一些地理库,但我真的在寻找一些有经验的人的指导,我想做正确的事。 提前致谢
答案 0 :(得分:3)
所以你真的有两个选择。
第一个,也是最准确的,是通过javascript询问用户浏览器,他们的位置是什么。 HTML5允许您通过地理位置执行此操作:
https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation
基础知识如下:
navigator.geolocation.getCurrentPosition(function(position) {
do_something(position.coords.latitude, position.coords.longitude);
});
显然,这需要用户同意与您分享他们的位置。这将我们带到选项2 ...通过IP的近似位置。
从用户IP,您可以使用多种服务之一将IP地址转换为物理位置。结果可能会有所不同,如果用户使用任何类型的VPN,代理等,那么你猜测它们实际上是完全错误的。
以下是您可以开始的免费API - https://freegeoip.net/