何番煎じだ。iPhone での位置情報取得javascriptのメモ
iPhoneの位置情報取得について調べる機会があったので、メモしておく。
W3C準拠のAPIを使用する
世界標準で用意されているといいですね。
W3C の Geolocation API の仕様に準拠してます。
navigator.geolocation.watchPosition() を使う
※サンプル
function getLocation(pos) { console.log("lat : " + pos.coords.latitude + "long : " + pos.coords.longitude + "accuracy : " + pos.coords.accuracy); } function catchErr(a) { console.log(" error: " + a.code); } var init = function(){ navigator.geolocation.watchPosition(getLocation, catchErr) }; init();
navigator.geolocation.watchPosition(getLocation, catchErr)
この一行で位置情報とってこれます。
watchPosition は現在の位置情報を連続取得し続けるメソッドですね。
このメソッドの callback 関数の引数(今回の場合は、"pos")に、位置情報が入ってきます。
ちなみにこのメソッドは連続して呼ばれるので、もし地図などを表示したい場合は、
初回呼び出しのみ地図表示
のような処理を書かないと、地図が永遠に生成され続けます。
数回位置情報を取得して、不正対策や位置補正なんかもできるかな。
経路探索やその他色々な使い道がありそう。