2012-05-02 12 views
0

私はこれについて多くの投稿を読んでいます。 解決策が見つかりませんでした。 私の現在の位置を更新することが必要です。だから、もし私が動き続けるなら、私は新しい位置を知る必要がある(それぞれ5秒)。私はwatchPositionがIOSで動作しないことを理解しています。私は公式の例から始めていると私は結果が私はちょうど1回、すべての情報を見ることであるのsetIntervalPhoneGap getCurrentPositionとwatchPosition

// Wait for PhoneGap to load 
     // 
     document.addEventListener("deviceready", onDeviceReady, false); 

     // PhoneGap is ready 
     // 
     function onDeviceReady() { 
      setInterval(navigator.geolocation.getCurrentPosition(onSuccess, onError),5000); 
     } 

     // onSuccess Geolocation 
     // 
     function onSuccess(position) { 
      alert("ENTRY"); 
      var element = document.getElementById('geolocation'); 
      element.innerHTML = 'Latitude: '   + position.coords.latitude    + '<br />' + 
      'Longitude: '   + position.coords.longitude    + '<br />' + 
      'Altitude: '   + position.coords.altitude    + '<br />' + 
      'Accuracy: '   + position.coords.accuracy    + '<br />' + 
      'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '<br />' + 
      'Heading: '   + position.coords.heading    + '<br />' + 
      'Speed: '    + position.coords.speed     + '<br />' + 
      'Timestamp: '   + new Date(position.timestamp)   + '<br />'; 
     } 

     // onError Callback receives a PositionError object 
     // 
     function onError(error) { 
      alert('code: ' + error.code + '\n' + 
        'message: ' + error.message + '\n'); 
     } 

と混合

。そして、停止する。 誰かが私を助けることができますか?

答えて

1

最新のCordova(Phonegap)を使用してiOSでwatchPositionがうまく動作します。たぶん、あなたはそれがまさにあなたが望むものだと思われるので、もう一度その方法を試してみるべきです。

+0

おそらく@ user1301094は、シミュレータでは機能しないため、混乱していた可能性があります。 –

+0

いいえ、私は私の計算機ではなく、シミュレータで使用しています! Phongeap 1.2.0を使用している理由が考えられますか? – Corallino

+0

することができます。以前のPhonegapバージョンを使用しても問題はなかった(GPSはシャットダウンしないだろう)。私が最初のCordovaバージョンに更新したとき、それは魔法のように消えました。 – jenswirf

1

私は同じ問題を抱えていますが、watchpositionコールバックは、Webアプリケーションに関係なく、IOS6では発生しません。 IOS6がwatchPositionを壊しているようだ。開始時に1回または2回発火し、それがそれです。いったん失敗すると、時計または譲渡のさらなる呼び出しは成功または失敗のコールバックを起動しません。

私が探している回避策は、IOS 6で導入されたマップアプリケーションを開いて自分自身を見つけるために位置矢印をタップすることです。これを試した後、コールバックは1秒おきに予想どおりに起動します。

また、GPS受信機が使用されている場所以外にいる限り、正常に動作しているようです。

アップルにバグとして提出しました。

私が収集できるすべてのマップでは、APIを開くには、初期化ルーチンを実行している...

WatchPositionはIOS6まで完璧に取り組んできました。

0

は、私はあなたが機能の代わりのsetIntervalにを渡していることに問題があると考えています。あなたは今それを持っているとして、getCurrentPositionは、一度実行したsetInterval関数に位置を返します...そして位置は5秒ごとに(ではないと呼ばれている

setInterval(function(){ 
    navigator.geolocation.getCurrentPosition(onSuccess, onError); 
}, 
5000); 

:あなたはもっとこのような何かを持っている必要がありますgetCurrentPosition function)、これはかなり意味がありません。

関連する問題