Gearsで位置情報を取得する
GearsのAPIを利用するために、以下のサイトからJavaScriptファイル(gears_init.js)をダウンロードします。
gears_init.jsは、以下のように<script>タグを使ってHTMLに組み込みます。
<script type="text/javascript" src="gears_init.js"></script>
Android携帯のGearsとiPhone 3GSのSafariでは、GPSに関するメソッド名/パラメーターは同じです。ただ、オブジェクトと階層が異なっているため、iPhone 3G用に書かれたプログラムを大幅に変更しなければならず、少々面倒です。
そこで以下のコードを追加して、iPhone 3Gと同じ階層にオブジェクトをリンクします。
if(!navigator.geolocation) navigator.geolocation = google.gears.factory.create('beta.geolocation');
本連載の第2回で作成したプログラムにAndroid携帯用のコードを追加したものがサンプル01です(スクリプト部分のみ掲載)。Gearsを組み込んで1行追加するだけなので簡単ですね。
●サンプル01のソースコード
// ページが読み込まれたときの処理
window.onload = function(){
// グーグルマップ ver 3の構築と表示
var defPos = new google.maps.LatLng(36, 137); // 座標値はどこでもよい
gmap = new google.maps.Map(document.getElementById("map_canvas"), {
zoom : 17,
center : defPos,
mapTypeId : google.maps.MapTypeId.ROADMAP
});
gmarker = new google.maps.Marker({
positon : defPos,
map:gmap,
icon : "./arrow.png"
});
【ここを追加→】 if(!navigator.geolocation) navigator.geolocation = google.gears.factory.create('beta.geolocation');
navigator.geolocation.watchPosition(update);
setInterval("readDB()", 5 * 1000); // 5秒に一回データベース内のGPSデータを表示する
}