作業デモ
HTML5ジオロケーションAPIを使用すると、現在の緯度/経度の座標を取得できます。
var currentPosition;
navigator.geolocation.getCurrentPosition(function(position) {
currentPosition = position;
});
これを使用して、投稿で言及したWebサービスにajaxリクエストを送信できます。
$(function(){
var tzObject;
$("button").click(function(){
console.log(currentPosition);
var dt = "lat="+currentPosition.coords.latitude +
"&lng="+currentPosition.coords.longitude +
"&username=demo"; //change to your uName
$.get("http://api.geonames.org/timezoneJSON", dt, function(msg) {
tzObject = msg;
alert(tzObject.time + " " + tzObject.timezoneId);
});
});
});
これにより、関連するタイムゾーン情報を含むJSONオブジェクトが返されます。もちろん、都市のセットリストがある場合は、それらの緯度/経度の座標を保存し、代わりにそれらをリクエストに使用するのは簡単です。複数のリクエストに連続してそのWebサービスを使用するには、ユーザー名を取得する必要があります(「デモ」を使用すると、1時間ごとの制限があります)。