2013-11-04 6 views
10

jquery-ui-mapsとHTML5ジオロケーションを使用してユーザーの場所の一覧を表示しています。ユーザーのジオロケーションを活用する必要があります。Phonegapを有効にするアプリケーション実行時のGPS /位置

だから、ここ

  1. ユーザーがGPS /位置サービスが有効になっていない、ユースケースです。
  2. ユーザーがアプリケーションを開き、ユーザの位置に
  3. アプリエラーを出すためにnavigator.geolocationを呼び出し、彼らは
  4. ユーザーがアプリの外に移動し、GPS /位置情報サービスを有効にする必要があり、ユーザーに通知ビューにナビゲートGPSを有効にする
  5. ユーザーがアプリに戻って地図を表示しようとすると(ジオロケーションを再度呼び出しても)、アプリはGPSを使用できません。

私はGPSのアクセス許可がアプリケーションのロード時に初期化され、再評価されないPhonegapの問題であると考えています。

私の質問は、アプリケーションの実行中にGPSを有効にすることができますか、またはPhonegapはGPSを使用するためにアプリを再読み込みする必要がありますか?

+1

で私を助けることができたプラグインを見つけました。あなたがコードを見たい場合は、あなた自身のコードのいくつかの並べ替えを投稿する必要があります。 – Daniel

答えて

8

PhonegapはGPSのリアルタイム更新をサポートしています。ここで

は直接リンクです:一般的に

http://docs.phonegap.com/en/3.1.0/cordova_geolocation_geolocation.md.html#geolocation.watchPosition

そのいわゆる「監視位置」、そしてあなたは、リフレッシュを自分でタイマーを設定することができます。

ランタイム中にGPSを有効にすることに関して。

navigator.geolocation.watchPosition()に電話してみてください。

は同様にあなたのconfig.xmlにジオロケーションへのアクセスを許可することを忘れないでください、私はあなたがそれを知っていると思います;)

私はそれが助けを願っています。

+0

'watchPosition()'を使用して返すgeolocation呼び出しを抽象化して返すサービスクラスを変更します – mondeeds

+2

ちょうどメモ: 'watchPosition()'にリフレッシュタイマーを設定する必要はありません。関数が呼び出され、OSがGPS Receiverハードウェアから位置更新を受け取るたびに新しい位置を渡します – DaveAlden

+1

GPSがオンになったときに 'watchPosition()'が起動しますか? – mondeeds

2

しばらく苦労した後、私はあなたのための答えを作った同じ問題

https://github.com/nishantsharmajecrc/cordova-dialog-gps

function calldialog() { 
document.addEventListener("deviceready",function() { 
cordova.dialogGPS("Your GPS is Disabled, this app needs to be enable to   works.",//message 
      "Use GPS, with wifi or 3G.",//description 
      function(buttonIndex){//callback 
       switch(buttonIndex) { 
       case 0: break;//cancel 
       case 1: break;//neutro option 
       case 2: break;//user go to configuration 
       }}, 
       "Please Turn on GPS",//title 
       ["Cancel","Later","Go"]);//buttons 
    }); 
    } 
関連する問題