2011-07-18 12 views
1

でジオロケーションを取得します。私は、ユーザーの位置を得るために、私のページに以下のJavaScriptを持っているブラウザ

  state.currentTimer = navigator.geolocation.watchPosition(success, error, { enableHighAccuracy: true, maximumAge: 5000 }); 

ページが携帯電話のブラウザから呼び出されることを意図しています。しかし、watchPositionメソッドは信じられないほど信頼できないようです。時にはそれは場所を取得することはありません、場所は大規模にオフになっている他の回、時にはそれはうまく動作し、その後停止します。

私は、信号が良い都市でテストすることによって、電話信号の問題を排除しようとしました。

ブラウザでモバイルからの位置情報を取得する方法はありますか?

答えて

0

本当に、これが現在の唯一の方法です。より正確な結果を確実に得るために、successハンドラに渡されたオブジェクトのaccuracyプロパティを確認することができます。私が使用

+0

です。多くの場合、モバイル上のブラウザが場所を読み込むのを待っていますが、ページをもう一度更新するまでは何もしません。最初の結果を監視する2番目のタイマーを作成する価値があります。結果が返されない場合、最初のタイマーをクリアしてもう一度試行しますか? –

+0

私はそうは思わない、そんなに多く依存している - 衛星リンクはかなり入手が難しい:) setTimeoutなどを設定し、結果がない場合はもう一度やり直してみてください。 – Milimetric

1

navigator.geolocation.getCurrentPosition(
    function(pos) { 
     pos.coords.latitude; 
     pos.coords.longitude; 
     pos.coords.accuracy; 
    }, 
    function(error) { 
     error.code; 
    } 
); 

すべてに関する情報は、ブラウザが実際に場所を取得していることを確認するにはどうすればよいここhttp://dev.w3.org/geo/api/spec-source.html

関連する問題