获取用户的当前位置提示
Feching user's current location tips
我被要求创建一个网络应用程序,该应用程序使用用户当前位置来确定到给定地点的距离。
我从来没有遇到过这种问题,所以我正在寻找一些指导方针,高效 technologies/libraries 允许实施这种机制,也非常感谢有经验的人提供的一些专业提示。
我经常在 Rails/Django 上使用 Ruby 开发我的应用程序,但如果有益的话,我可以适应其他技术。我做了研究并找到了一些地理库,但我真的在寻找有经验的人的一些指导我想做对。
提前致谢
所以你真的有两个选择。
第一个也是最可能准确的方法是通过 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/
开始
我被要求创建一个网络应用程序,该应用程序使用用户当前位置来确定到给定地点的距离。 我从来没有遇到过这种问题,所以我正在寻找一些指导方针,高效 technologies/libraries 允许实施这种机制,也非常感谢有经验的人提供的一些专业提示。 我经常在 Rails/Django 上使用 Ruby 开发我的应用程序,但如果有益的话,我可以适应其他技术。我做了研究并找到了一些地理库,但我真的在寻找有经验的人的一些指导我想做对。 提前致谢
所以你真的有两个选择。
第一个也是最可能准确的方法是通过 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/
开始