このページの本文へ

iPhoneのGPSをJavaScriptで操ろう (2/6)

2009年07月06日 18時24分更新

文●古籏一浩

  • この記事をはてなブックマークに追加
本文印刷

GPSデータを取得

 JavaScriptでGPSデータを取得してみましょう。Safariに搭載されているGPS関連機能はW3C(World Wide Web Consortium)のGeolocation APIに準拠しています。手元にiPhoneがない方はGeolocation APIをサポートしているFirefox 3.5でテストするとよいでしょう。

●Geolocation API Specification

 http://www.w3.org/TR/geolocation-API/

iPhone GPS

Firefox 3.5 でもGeolocation APIをサポートしている


 ブラウザーがGeolocation APIに対応している場合は、navigatorオブジェクト内に geolocationオブジェクトが用意されています。geolocationオブジェクトには、現在地の位置情報を求めるためのメソッドが用意されています。

navigator.geolocation.getCurrentPosition()
現在の位置情報
navigator.geolocation.watchPosition()
現在地を定期的に監視
navigator.geolocation.clearWatch()
watchPosition()での監視を中止

 今回は定期的に位置情報を取得するので watchPosition() を使います。watchPosition() は位置情報を取得したら、最初のパラメーターに指定された関数を呼び出します。たとえば、watchPosition(update) とすると位置情報を取得したら update関数が呼び出されることになります。

 呼び出された関数には位置情報を示すオブジェクトがパラメーターとして渡されます。このオブジェクト内には以下の位置情報が格納されています。

position.coords.latitude
緯度
position.coords.longitude
経度
position.coords.altitude
高度
position.coords.accuracy
水平方向の誤差
position.coords.altitudeAccuracy
垂直(高さ)方向の誤差
position.coords.heading
方向
position.coords.speed
速度

※渡されたオブジェクト名が position の場合


 ただし、iPhone 3Gではこれらすべての値を取得できるわけではありません。たとえば「高度」や「垂直(高さ)方向の誤差」には対応していません。

この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています