0

Ti.Geolocationに問題があり、頭がおかしくなります。これまでのところ、IOSプラットフォームのみを使用しています。目標は、携帯電話を持って移動するときに、可能な限り最高の精度でGPSコールバックを取得することです。

問題は、KitchenSinkのgeolocation.jsからほとんどのコードをコピーしたことです。関連する部分を以下に示します。私には問題ないように見えますが、私が得る行動は非常に奇妙です。

歩き回ると、定期的にGPSコールバックが届きません。ただし、コンパスは正常に機能し、常にコールバックを送信します。また、「見出し」イベントをサブスクライブせずに試しましたが、GPSの動作に変更はありません。

正しいデータでGPSコールバックをトリガーできるイベントは1つだけで、KitchenSinkを実行しています。KitchenSinkに切り替えて元に戻すと、5〜10の精度のコールバックが得られます。そうしないと、精度が1500〜2500に達する可能性があります(コールバックを取得した場合)。

KitchenSinkは正常に動作しているようですが、そのアプリが何をしていないのかわかりませんか?!?

電話のWifiをオフにしているので、邪魔になりません。この問題は非常に苛立たしいものであり、私は今3日間この問題に取り組んでいますが、誰か助けてもらえますか?さまざまなSDKに対してもコンパイルを試みました(通常は2.1.1GAですが、1.8.2まで)。変化なし。

if (locationServicesAvailable()) {
    // APPLICATION LOGIC
    ui.init();

    Ti.Geolocation.purpose = "Get Lat/Long of your current position";
    Ti.Geolocation.accuracy = Ti.Geolocation.ACCURACY_BEST;

    Ti.Geolocation.distanceFilter = 10;
    Ti.Geolocation.frequency = 0; /* as fast as possible */
    Ti.Geolocation.preferredProvider = Ti.Geolocation.PROVIDER_GPS;

    if (Ti.Geolocation.hasCompass) {
        //  TURN OFF ANNOYING COMPASS INTERFERENCE MESSAGE
        Ti.Geolocation.showCalibration = false;
        // SET THE HEADING FILTER (THIS IS IN DEGREES OF ANGLE CHANGE)
        // EVENT WON'T FIRE UNLESS ANGLE CHANGE EXCEEDS THIS VALUE
        Ti.Geolocation.headingFilter = 45;
        /*
        Ti.Geolocation.getCurrentHeading(handleCompass);
        Ti.Geolocation.addEventListener('heading', handleCompass);
        */
    }

    Ti.Geolocation.getCurrentPosition(handlePosition);
    Ti.Geolocation.addEventListener('location', handlePosition);

    ui.refresh.addEventListener('click', function(e) {
        Ti.Geolocation.getCurrentPosition(handlePosition);  
    });
}
4

1 に答える 1

0

OK、問題の答えを見つけたようです。精度をTi.Geolocation.ACCURACY_NEAREST_TEN_METERSに設定するのと同じくらい簡単です。私はIOSプラットフォームを使用しており、重要な場合はスウェーデン(田舎)にいます。この解決策がすべての人に当てはまるかどうかはわかりませんが、この問題(http://developer.appcelerator.com/question/130596/strange-behavior-of-the-gps)と解決策への参照を見たので、私はそれを知っています存在します。

ACCURACY_BESTが機能しない理由はわかりませんが、私にとっては機能しません。時間があるときに他のすべての設定もテストしますが、少なくとも開発を続けることができます。

于 2012-08-31T13:46:44.850 に答える