アクセス元IPアドレスから都道府県を取得してみましょうね。
アクセス元のIPアドレス取得
PHP での処理になりますが、$_SERVER['REMOTE_ADDR'] で取得可能です。
IPアドレスから位置情報取得
なんやかんや、いろんなサービスがあります。
API キー発行から14日間の無料トライアル期間あり。初期費用100,000円(税別)、月額費用はリクエスト数による従量課金。詳しい利用料金はこちら。
どこどこJP – http://www.docodoco.jp/
$370 の初回月の料金およびその後は $100 の月間料金。。詳しい利用料金はこちら。
MaxMind – https://www.maxmind.com/en/geoip2-services-and-databases
API という形で利用したければ、無料で商用可能なサービスは皆無。ただし、上の MaxMind さんはオープンソース API も提供しており(こちら)、その API で利用する DB ファイルはダウンロードして利用する必要があり、定期的に手動更新(または自動で更新するシステムを作成)する必要もあり。
ライセンスを読んでみると、
GeoLite2 データベースは、クリエイティブ・コモンズ 表示-継承 3.0 非移植ライセンスの下に配布されています。表示要件は、このデータベースの機能もしくは使用に言及するすべての広告および資料に、次の文を含めることで満たされます:
とある。なるほど。じゃぁこのページでも説明するので、ページの下の方に書いておきます(書きましたよ!MaxMindさん!!)
んで、その辺りのセットアップは、まずは http://maxmind.github.io/GeoIP2-php/ で PHP ライブラリの情報を確認。composer でちょちょい……(中略)……てな感じで完了。実際に取得してみると……。
ここで取得する東経北緯情報は当てになりませんな……。
てな感じで現場からは以上です。
この製品には MaxMind が作成した GeoLite2 データが含まれており、http://www.maxmind.com から入手いただけます。