web-wizardry

インターネット・スマホ、そしてテレビにwebの魔法をWizardry

javascriptでアクセスした国などを取得する方法

2015年01月28日 · javascriptjQuery

案件で、アクセスされた国ごとに、言語表示を分けて欲しいというクライアントさんからの要望を受けました。
調べてみるとそれらしいき情報はいくつかありました「引用先」を参照ください。
こちらを元に実装してみました。

日本からアクセスしているので、「Japan」の値をとるくことができました。
※他の国でアクセスしていないので、他の値が取得できているかは不明・・・
取得方法についてですが

GoogleのAPIを使用する

Google AJAX Search APIで公開されている「google.loader.ClientLocation」を使用することで、開いているブラウザの情報を取得できる

調べた範囲ですと、
Google AJAX Search APIキーが必要や必要ないというのがあるようです。
古い記事ですと、「APIキーが必要」、新しめの記事だと「APIキーが必要ない」とかかれております
※使用者各自で判断をお願いします

google.loader.ClientLocationを仕様

google.loader.ClientLocationでは6つの情報を取得することができます
国:ClientLocation.address.country
国名コード:ClientLocation.address.country_code
都道府県:ClientLocation.address.region
市町村:ClientLocation.address.city
緯度:ClientLocation.latitude
経度:ClientLocation.longitude
を取得することができます
緯度と経度はブラウザに取得許可などがないとデータを取得することができない
制度が悪いという記事もありました。
緯度と経度で何かするというのは難しいかもしれません。

google.loader.ClientLocationを使い方

<head>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
	var cl = google.loader.ClientLocation;
	if(cl){
		//国コード(例:jp)
		var code = cl.address.country_code;
		//国名(例:Japan)
		var kuni = cl.address.country;
		//都道府県(例:東京都)
		var todofuken = cl.address.region;
		//市区町村(例:東村山市)
		var sikuchoson = cl.address.city;
		//緯度
		var lat = cl.address.latitude;
		//経度
		var lon = cl.address.longltude;
	}
</script>
<head>

試してみてください

引用サイト

Google AJAX Search APIで位置情報(国・都道府県・市町村etc)取得
javascript で訪問者のアクセス地域(国、都道府県、市区町村、緯度、経度)を取得する
ブラウザで位置情報を取得してみよう (1/4)


Page top