2017-08-06 1 views
0

私はウェブサイトを作っています。私はIPアドレスを使って経度と緯度で並べ替えるためにユーザーのipを登録する必要があります。ipinfoのような3番目のサービスを持たないIPの場所を検出

実際、私はmaxmind geoipcity.dat(http://php.net/manual/en/book.geoip.php)でPHPのgeoipライブラリを使用しています。 私は、この方法の60/70%がうまくいかないことがわかりました。それは、経度と緯度と都市が見つかりませんでしたが、国だけが見つかりました。

トピックタイトルに書いたように、私は第三者サービスを使いたくありません。多分あなたは私にウェブ上で見つけられなかった提案や何かを私に与えることができます。

返信いただきありがとうございます。

答えて

0

エンドユーザーのGPSデータにアクセスできない場合は、サードパーティサービスを使用して、IPアドレスまたはWIFI MACアドレスを緯度と経度に変換する必要があります。

以下は、問題を解決するための2つの提案です。

  1. 要求エンドユーザがこの場合、HTML 5を介して自分のGPSによる位置情報を共有するために、Webブラウザがあなたに(空室状況により利用可能)、座標を共有する前に、エンドユーザからの許可を要求します。サンプルコードについてはhttp://ipgeo5.comをご覧ください。

  2. 別のジオロケーションデータベースを変更します。カバレッジが問題であれば、他のデータベースプロバイダを評価することができます。 http://lite.ip2location.comにアクセスし、IP2Location LITEデータベースを使用して要件を満たしているかどうかを確認できます。

+0

本当にありがとうございます。 ip2locationデータベースを試してみましょう。 しかし、私は質問があります。最初の方法(ipgeo)から私はユーザーのIPを取得できますか? すべての都市を経度と緯度を使ってSQLテーブルにアップロードしました。 私の考えは、ユーザーの経度と緯度に関する一種の半径を作成し、最も近い都市を取得するクエリを作成することです。それはいいアイデアか悪いのですか? – Stackedo

+0

アップデート:ip2location(http://www.ip2location.com/developers/php)を試しました。 更新2:これはDB9デモのBINデータベースです。あなたは0.0.0.0から99.255.255.255までのIPアドレスを評価できます。 x ' – Stackedo

+0

@stackedo http://lite.ip2location.comから無料のIP2Location LITEにサインアップし、完全なDB9 BINファイルをダウンロードする必要があります。開発者エリアのサンプルファイルは、デモ目的では不完全です。 –

関連する問題