2016-02-05 88 views
-6

我被要求创建一个网络应用程序,它使用用户当前的位置来确定到指定地点的距离。 我从来没有遇到过这样的问题,所以我正在寻找一些指导方针,有效的技术/图书馆,允许实施这样的机制也有人的实验的一些专业技巧将非常感激。 我经常使用Ruby on Rails/Django开发我的应用程序,但如果有用,我可以适应其他技术。我做了研究并找到了一些地理资料库,但我真的很想找一些有经验的人的指导,我想做正确的事。 在此先感谢用户的当前位置提示

回答

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/