2013-02-22 13 views
6

現代のhtml5ベースの地理位置情報は、常にユーザーに「あなたの場所をこのウェブサイトと共有したいですか?」と尋ねます。これは問題ありませんが、この許可を要求することなく、球場の位置情報を決定しようとする他のルートがあることはわかっています。私が思い出したように、これらのサービスはIPデータベースを使ってジオコーディング情報を追跡し、それをウェブアプリに提供しようとしています。許可を要求しないジオロケーション

私のウェブサイトでは、ジオロケーションの許可が要求されていない状態で、ユーザーの郵便番号で「最高の推測」を得たいと考えています。これを行う最も簡単な方法はどれですか?

+1

あなたは[http://www.iplocation.net/](hのようなものを意味しますttp://www.iplocation.net/)。場所は非常に粗いかもしれませんが、鉱山はデスクトップでは100km、モバイルでは1,000km以上です。 YMMV。 – RobG

+0

下記の私の答えを見てください。https://stackoverflow.com/a/47142775/3176550 Ipdata.coには、毎日> 800Mリクエストを処理できる10個のグローバルエンドポイントがあります! – Jonathan

答えて

8

IPジオロケーションはあまり正確ではありませんが、ユーザーのアクセス権は必要ありません。 http://ipinfo.io API(これは私のサービスです)は非常に簡単です。ここにjQueryの例があります:

$.get("http://ipinfo.io", function(response) { 
    console.log(response.city, response.region, response.country); 
}, "jsonp"); 

詳細はhereです。

+1

''を使うこともできます。変数 'ipaddr'があなたのIPv4アドレスになります。 –

1

_SERVER変数を使用して、バックエンドでIPロケーションスクリプトを使用します。これは、許可なしに唯一の方法ですが、巨大な欠点を:彼らは

しかし、それでもまだ、それはだ、プロキシを使用している場合 1)これは、すべての 2)IPアドレスは、ユーザによって変更することが可能で、正確ではありませんあなたが許可を求めたくなければ、唯一の方法です。でGeolocation without Prompt

+0

このapiはhttps://ip-api.io/でも動作します –

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>

関連する問題