我注意到现代基于html5的地理定位总是要求用户“你想与这个网站分享你的位置吗?”。这很好,但我知道还有其他尝试确定球场地理位置的路线,而无需申请此权限。如果我记得,这些服务使用ip数据库来尝试跟踪geolocaiton信息并将其提供给Web应用程序。
所以,在我的网站上,我想在用户的邮政编码上得到一个“最好的猜测”,而不是要求地理位置许可。这样做的最简单和/或最好的方法是什么?
答案 0 :(得分:9)
IP地理位置不太准确,但您不需要用户权限。 http://ipinfo.io API(这是我的服务)使它变得非常简单。这是一个jQuery示例:
$.get("http://ipinfo.io", function(response) {
console.log(response.city, response.region, response.country);
}, "jsonp");
有更多详情可供here。
答案 1 :(得分:1)
使用_SERVER
变量在后端使用IP位置脚本。这是未经许可的唯一方法,但有很多缺点:
1)根本不准确
2)如果用户使用代理
但是,如果你不想要求许可,这是唯一的方法。
或者你可以问用户他们的邮政编码,因为他们想要使用你的网站,他们也可以:)
另外,请看一下这篇文章:Geolocation without Prompt
答案 2 :(得分:0)
使用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>