没有请求许可的地理位置

时间:2013-02-22 06:01:13

标签: javascript geolocation location zipcode

我注意到现代基于html5的地理定位总是要求用户“你想与这个网站分享你的位置吗?”。这很好,但我知道还有其他尝试确定球场地理位置的路线,而无需申请此权限。如果我记得,这些服务使用ip数据库来尝试跟踪geolocaiton信息并将其提供给Web应用程序。

所以,在我的网站上,我想在用户的邮政编码上得到一个“最好的猜测”,而不是要求地理位置许可。这样做的最简单和/或最好的方法是什么?

3 个答案:

答案 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)如果用户使用代理

,用户可以更改IP地址

但是,如果你不想要求许可,这是唯一的方法。

或者你可以问用户他们的邮政编码,因为他们想要使用你的网站,他们也可以:)

另外,请看一下这篇文章: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>