iPhone 現在地表示 GPSナビ
2011.09.20
この記事は最終更新日から1年以上が経過しています。
iPhoneにはiOSというOSが使われており、
iOS3.0からiPhone内蔵webブラウザ「safari」上で動くjavascriptに
GPSデータの取得機能が追加されています。
safariに搭載されているGPS関連機能はW3CのGeolocationAPIに準拠し、
FireFox3.5でも動作させることが可能です。
navigatorオブジェクト内にgeolocationオブジェクトが用意されていて、
取得方法は
navigator.geolocation.getCurrentPosition() 現在の位置情報
navigator.geolocation.watchCurrentPosition() 現在地を定期的に監視
navigator.geolocation.clearWatch() watchPosition()での監視を中止
となっています。
定期的に取得するのなら
watchPosition()を使用。
watchPosition(update)で値を取得するとupdate関数が呼ばれるように記述。
オブジェクト内には
これらの情報が格納されています。
経度、緯度等の取得
HTML
<div id="location">lat,lng,accuracy</div>
JavaScript
<br /> <script type="text/javascript"><br /> window.onload = function(){<br /> navigator.geolocation.watchPosition(update);<br /> }<br />
関数実行させる。
//位置が検出されたら緯度、経度、誤差と時間を表示<br /> function update(position){<br /> var lat = position.coords.latitude; //緯度<br /> var lng = position.coords.longitude; //経度<br /> var acc = position.coords.accuracy; //誤差<br /> document.getElementById("location").innerHTML ="緯度:"+lat+",<br /> <br>経度:"+lng+",<br /> <br>誤差:"+acc+"<br>更新時間:"+(new Date());<br /> }<br /> </script>
(その他スタイル等は任意で。)
デモ