1

最初のカップルの後watchposition、コールバックはIOS6で起動しません。開始時に1回か2回発砲し、それだけです。失敗すると、またはの呼び出しがwatchposition成功getpositionまたは失敗のコールバックを起動しません。

私が見つけた回避策は、IOS 6で導入されたマップアプリを開き、場所の矢印をタップして自分自身を見つけることです。これを試した後、コールバックは1秒ごとに期待どおりに起動します。

更新:ナビゲーションでマップを実行すると、うまく機能します

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

私はバグとしてアップルに提出しました。他の人もやってください!!

回避策をコーディングする方法を知っている人はいますか?

私が収集できるのは、マップがAPIを開くための初期化ルーチンを実行していることだけです...

私はウォッチコールバックをウォッチドッグし、成功せずgetpostionに再起動することを期待して手動で起動しようとしwatchpostionました...

UPDATE 10/16/12:iPadがロック/スリープした後、時計の位置が失敗するようです。目覚めたとき、watchposition()は起動しません。サファリが最小化されていることに気づき、それが発火し始めたことを思い出しました。

UPDATE 11/17/12:バグのビデオと回避策http://youtu.be/ygprgHh6LxA-IOS6.1Beta2の実行

UPDATE 12/20/12:IOS6.1Beta4がテストされました-まだ解決されていません。


更新3/11/13:例を複製する

さて、ほんの数秒で複製するのは簡単な問題です。それはサファリではなく、IOSの問題だと思います。これは、GoogleがIOSのBIOSを作成してWC3 htmlジオロケーション仕様に適合させ、IOS6がバスからキックオフしたときにそれを持って行ったかのようです。IOSデバイスを使用する場合は、次の手順を参照してください。

http://uc.myaesc.com/geoloctestorig.htm

[開始]をクリックすると、ウォッチはほぼ毎秒結果を返すはずです。次に、Googleリンクをクリックして、このページを終了します。次に、ユーザーのブラウザの戻るボタンをクリックして戻ります。[開始]をクリックします。ウォッチは1〜3レコードを返し、ハングします。サファリを最小化し(ホームボタン)、次に復元します(サファリアイコン)。ぶら下がるのをやめます

それでおしまい。ハングしなくなるまで、問題は残ります。

マーク

4

3 に答える 3

0

同じ問題。オプションのパラメーターを追加しても無駄でした...いくつかのことを試してみました (プライバシー設定の更新、getPosition と watchPosition の比較、マップをバックグラウンドで実行しました。ちょうど 3 日前に私のコードは完璧でしたが、今ではゴミです。 .. :-( Apple にとって悲しい日々?

于 2012-09-28T15:12:03.030 に答える
0

私の考え:位置が変わるたびにコールバックが呼び出されるので、そうでない場合はコールバックを取得しません。屋外では、GPS はより正確な位置を提供し、他の測位方法では気付かれない小さな動きに合わせて変化します。

于 2012-09-24T10:21:26.740 に答える
0

iOS デバイスの市場シェアが非常に高いため、この問題は、Web ベースの位置情報アプリケーションを作成する人にとっては本当に災難のようです。bugreport.apple.com でバグ レポートを Apple に送信したことを確認してください。

ほとんどの場合、同じ問題 (そこに投稿するのに十分な評判がありませんでした): iOS 6 が webapps の GeoLocation を壊す (apple-mobile-web-app-capable)

この問題を調査したい場合に使用できるテストページをまとめました。

  1. iPhone または iPad でhttp://jsbin.com/esasix/16/を開きます。
  2. 外を歩き回り、ページを更新して、他のテスト シナリオを試してください。
  3. あなたの位置がどのように報告されているかを見てください。

私は自分自身で多くのテストを行い、次の結果を得ました。

実行されたテスト:
この簡単なテスト ページを使用した独自のテスト: jsbin.com/esasix/16/
maps.google.com mobileweb map を使用
した独自のテスト アプリケーションを使用した独自のテスト アプリケーション
の外部ユーザーからの多くのログ
さまざまなデバイスを使用してテスト済み

私の調査結果:

同じテスト状況で、私は定期的に 5m の精度で完璧なポジショニングを得ることが多く、バグによる受信不良も頻繁に発生します。これは、デバイス、場所、天気、時刻などが両方の状況で同じであることを意味します。

ページを読み込んだ後、1​​ つの位置のみが返されることがあります。
ページのロード後にいくつかの位置が返されることがあります。
いくつかの良い位置が返された後、突然位置を返すのを停止し (しばらく静止した後に発生する場合があります)、悪い状態になり、再び位置を返す可能性がありますが、多くの場合悪い位置になります。
多くの位置が精度 65m で返されることがあります。
多くの位置がさまざまな精度で返されることがあります (通常は 50 ~ 300m)。
これらの精度の悪い一連の位置は、5m 精度の完全な一連の位置に近い場合があります (悪い状態に入った後?)。
連続して多くのテストですべてがうまくいく場合があります:-)

これらの行動は、さまざまな組み合わせで現れるようです。

状況によっては、Safari を再度開くと、何かがリセットされたように見え、再び機能し始めます。ただし、これらの状況の一部では、しばらくの間しか機能せず、他の状況ではまったく効果がないため、信頼できる回避策として使用できます (?)。組み込みのマップ アプリケーションを開くと、同じ動作が表示されます。役立つ場合もあれば、そうでない場合もあります...

navigator.geolocation.watchPosition を使用するコードと navigator.geolocation.getCurrentPosition を一定間隔でループで呼び出すコードでテストしましたが、違いはありませんでした。どちらの場合も同じタイプの問題が見られます。

iOS バージョン 6.0 から 6.1.2 で発生するようですが、apple-mobile-web-app-capable メタ タグを使用していません。

私は、特定の状況が特定の行動を示して結論が下されているように見えることがありますが、別のテストでその結論が間違っていることを証明することがあります。確実に再現可能な動作(または解決策)をまだ見つけることができませんでした。

于 2013-03-08T11:59:49.720 に答える