2012-01-18 15 views
0

jqueryとgoogle maps javascript v3でアプリケーションを作成しました。ここではボタンをクリックした後にユーザーの現在地を表示しています。現在の場所にはJqueryモバイルでページを更新する必要があります

今、問題は私はかなり良い現在の場所と時々同じ場所に私の現在の場所のマイルを示しているが、再び私はかなりきれいな現在の場所を持っているページをリフレッシュするときです。

誰もがリフレッシュボタンをもう一度押すと、モバイルブラウザのリフレッシュを押す必要がなくなります。

注: 私はこのアプリケーションをAndroidブラウザでテストしていますが、デフォルトのブラウザがあります。

Page#1にはボタンがあり、Page#2にはマップがありますが、Page#1とPage#2は単一の jQuery HTMLページにまとめられています。

+0

setTimeoutを使用して自分自身を呼び出す関数を作成し、内部に取得するコードを入れないのはなぜですか? – tftd

+0

私はsetTimeOutを試しましたが、これは私の問題を解決しません – Hunt

答えて

0

ジオロケーションオブジェクト(position.coords.accuracy)の精度パラメータを使用してロジックを追加しようとしないでください。たとえば、

//if accuracy is to low 
if (position.coords.accuracy =< 500) { 
    //redo the geolocation 
    navigator.geolocation.getCurrentPosition(function(position) { 
    //update marker 
    marker.setPosition(new google.maps.LatLng(position.coords.latitude, position.coords.longitude)}) 
} 
, displayError); 
} 
+0

外側のgetCurrentPositionの側に上記のコードを書く必要がありますか? – Hunt

+0

メイトは、今読んでいるように、このロジックは位置オブジェクトに渡される関数でなければならないので、ジオロケーション成功コールバック関数を試してみてください。しかし、これは単なる例であり、将来的には1つのジオロケーション関数を目的とする必要があります。これはセグレル時間と呼ばれます。 – jenswirf

+0

時々精度が高すぎます。私の場所がかなり遠いので、上のn低い近接度 – Hunt

関連する問題