6

地理位置情報を行う HTML5 の方法については知っていますが、注意点は、ユーザーに許可を求めるプロンプトを表示する必要があることです。

navigator.geolocation.getCurrentPosition

場所に基づいてカスタマイズされたコンテンツを提供するために、ホームページでジオロ​​ケーションを実行したい場合は特に面倒です。サイトにアクセスするたびにプロンプ​​トが表示されるのは好きではありません。

アイデアは、外部サービスを使用して、IP アドレスまたは同様のものに基づいてジオロケーションを実行し、ユーザーの位置をあまり正確に推定せず、その位置が実際にずれている場合にのみユーザーにプロンプ​​トを表示することです。その目的で使用できるサービスについて何か良い提案はありますか?

Google がすでにこれを行っていることは知っています: current location。プロンプトを表示せずに現在地を表示します。誰もこれを行う方法を知っていますか?

MaxMind データベースは優れていますが、そのためには巨大な IP データベースを維持する必要があります。API または Google サービスが優先されます。

現在、Google ローダーから返された位置オブジェクトを使用して位置を推定していますが、上記の Google 検索の例よりも正確ではありません。

google.loader.ClientLocation.latitude
google.loader.ClientLocation.longitude
4

2 に答える 2

2

サードパーティの API を使用しても構わない場合は、https://ip-api.ioのサービスを使用できます。クライアントの IP アドレスで動作し、ユーザーからの許可は必要ありません。

Javascript の例:

$.getJSON("http://ip-api.io/json/",
    function(result) {
        console.log(result);
    });

result.latitudeその後、とから位置を取得できますresult.longitudehttps://ip-api.ioは、国、都市、郵便番号、タイムゾーン、およびこの IP アドレスがボット、スパマー、または TOR ノードであるかどうかなど、より多くのデータを提供します。

于 2017-08-09T19:36:39.860 に答える