我注意到现代基于 html5 的地理定位总是询问用户“你想与这个网站分享你的位置吗?”。这很好,但我知道还有其他途径可以尝试确定棒球场的地理位置,而无需请求此许可。如果我记得,这些服务使用 ip 数据库来尝试跟踪地理定位信息并将其提供给网络应用程序。
因此,在我的网站中,我想对用户的邮政编码进行“最佳猜测”,而无需请求地理定位许可。这样做的最简单和/或最佳方法是什么?
我注意到现代基于 html5 的地理定位总是询问用户“你想与这个网站分享你的位置吗?”。这很好,但我知道还有其他途径可以尝试确定棒球场的地理位置,而无需请求此许可。如果我记得,这些服务使用 ip 数据库来尝试跟踪地理定位信息并将其提供给网络应用程序。
因此,在我的网站中,我想对用户的邮政编码进行“最佳猜测”,而无需请求地理定位许可。这样做的最简单和/或最佳方法是什么?
IP 地理位置不太准确,但您不需要用户许可。http://ipinfo.io API(这是我的服务)使它变得非常简单。这是一个 jQuery 示例:
$.get("http://ipinfo.io", function(response) {
console.log(response.city, response.region, response.country);
}, "jsonp");
更多详细信息可在此处获得。
_SERVER
使用变量在后端使用 IP 位置脚本。这是未经许可的唯一方法,但有很大的缺点:1)它根本不准确2)如果用户使用代理,IP地址可以由用户更改
但是,如果您不想请求许可,这是唯一的方法。
或者您可以只向用户询问他们的邮政编码,因为他们想使用您的网站,他们也可以:)
另外,看看这篇文章:Geolocation without Prompt
使用https://ipdata.co API
$.get("https://api.ipdata.co", function (response) {
$("#response").html(JSON.stringify(response, null, 4));
}, "jsonp");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre id="response"></pre>