プログラマブログ

by wacul

menu
  • プログラマ
  • どこの地域からアクセスされているのか、IPから検索!

2014.09.01どこの地域からアクセスされているのか、IPから検索!

用途

関東からのアクセスと九州からのアクセスでそれぞれ広告を出し分けたい、など、サイト訪問者の地域に応じたコンテンツを提供したい場合があります。 訪問者のIPアドレスからアクセス元の地域を調べることで、これを実現できます。

JavaScriptによる運用

JavaScriptからajaxでAPIを呼び、地域情報を取得することを考えます。

例えばPHPだと、自前でAPIサーバーを用意する場合はGeoIP というライブラリがあるようです。

ですが、今回は簡単に試すため、外部のサービスを利用したいと思います。
GeoIP APIなどで検索するといろいろ出てきますが、 今回はTeliizeのAPIを使ってみます。
使い方は非常に簡単で、指定されたURLにgetするだけで良いです。

例えば以下のようになります。

1
2
3
4
5
6
  $.getJSON("http://www.telize.com/geoip?callback=?", function(geo) {
    if(geo && geo.region){ //地域が取れない場合は、regionには何も入ってこない
      //Tokyo など都道府県が入る
      console.log(geo.region);
    }
  });

一度取得したregionはセッションストレージなどに保存しておくと、リクエスト回数が減らせて良いと思います。

使用して感じた精度

気になる精度ですが、概ね正しい地域が出るようです。
WIMAXを使用時に地域情報が取得できなかったり、ずれた地域になることは何度かありました。
そのため、システムに組み込むときは、その辺り考慮しておく必要があります。

参考

この記事を書いた人enokido

榎戸です。趣味ではゲームを作っています。

waculでは、プログラマを募集しています。

現在はプロダクトとして、課題発見から改善提案まで自動で行うWeb改善プラットフォーム「AIアナリスト」を開発中です。

waculの採用情報へ

ページトップへ