web-dev-qa-db-ja.com

Webサイトへのアクセス中にユーザーの場所を見つける方法は?

そのため、ユーザーが私のWebサイトのホームページにログオンしたときに、ユーザーの場所を(都市/町のレベルまでしか下がっていなくても)見つけられるようにしたいと思います。これは不可能ではないと思いました。Googleがメインページにログオンしたときにそれを行っているようで、検索結果をお住まいの地域に合わせているようです。

これを行うために私は何を調べますか?

18
slandau

さまざまなレベルの精度を持つ GeoIP 位置情報サービスを使用できます。 IPロケーションデータベースの他のプロバイダーも存在する可能性があります。

もう1つのオプションは、 http://html5demos.com/geohttp://dev.w3.org/geo/api/spec -source.html

13
Gnat

this one などのIP geo/co-locationAPIを使用する必要があります。 こちら 登録のみで無料サービスが自慢です。

ジオコード情報を含むデータベースをダウンロードすることもできます。これは特定の解像度で機能しますが、dbは静的スナップショットを表し、現実は時間の経過とともに大幅に変化する可能性があります。 これは無料で入手できるCSVです ローカルデータベース側で始めることができるファイルです。 CSVファイル(少し古いですが、2009年8月に最後に更新されました)には、59,000のエントリが含まれています。

8
Paul Sasik

あなたは、a)オンラインサービスを使用して場所を検索することができます-多くはAPIを持っています、またはb)ダウンロードできるウェブ上に浮かんでいる多数のデータベースがあります。必要な解像度によっては、支払いが必要になる場合があります。しかし、国の決議は確かに無料で利用できます。 「geoip」などをグーグルで検索してみてください。

1
Richard H

私が直面したいくつかの問題のために、別の解決策を追加したいと思います。以前の回答はすべて非常にうまく機能します。ただし、HTML Geolocation APIを使用する場合は、ユーザーに位置情報の許可を求める必要があります。 IPinfoは非常にうまく機能しますが、ublockなどの一部のアドブロッカーはクライアント側からのAPIヒットをブロックします。

DNSマネージャーをCLoudflareに変更できる場合は、Cloudflare IPGeolocationを使用できます。あなたは参照することができます Don's 回答 ここ

1
Nikhil Yadav

hTML5でnavigator.geolocation.getCurrentPositionを使用できます。これはかなりクロスプラットフォームであり、データベースに報告するWebページに組み込むことができます。見る

http://html5demos.com/geo
http://www.w3.org/TR/geolocation-API/
http://diveintohtml5.info/geolocation.html

0
lazydeveloper

超高精度を気にせず、ユーザーの現在地へのアクセス許可を要求するアラートでユーザーを煩わせたくない場合は、 FreeGeoIP のようなものを利用できます。これを利用する小さなjQueryプラグインを作成しました。 Locaternator を参照してください。 jsonpリクエストもサポートしているため、静的なhtmlのみのWebを含め、どのWebサイトからでも使用できます。

0
Dave Sag