0

位置情報サービスがオンになっているにもかかわらず、locationManager が値に収束しない原因を知っている人はいますか?

編集 1 - locationManager は一部のユーザーに対しては正常に機能しますが、他のユーザーの場所は更新されません。また、位置情報が更新されないユーザーのデバイスには、デバイスが iPhone 5、iPad3、iPhone 4 などがあるため、GPS が搭載されています。GPS、WiFi、セルタワーが届かないのですか?しかし、どういうわけか彼らはオンラインになります....

編集 2 - 詳細: ユーザーは、私の Web サーバーで新しいアカウントを作成できるため、インターネットにアクセスできます。そして、以下の #2 を使用して locationManager が値に収束すると、Web サーバー上の GPS 位置が更新されますが、それは決して起こりません。ユーザーは、10 個の質問に答えて写真をアップロードするのに十分な時間、アプリ内でデバイスを使用しています。ユーザーがインターネットにアクセスできる場合、locationManager が収束するのに十分な時間ではありませんか?

編集 3 - 別の奇妙なことが起こります: ユーザーのアカウントが作成されたときの Web サイトでは、ユーザーの gps_lat は 0 に設定されます。ユーザーが iPhone から locationManager を使用して Web サイトで gps_lat を更新すると、gps_lat の更新された値は (null )。locationManager が output = (null) を生成する原因は何ですか?

  1. 次のコードを使用して、位置情報サービスがオンになっていることを確認します。

BOOL locationServicesDenied = ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied);

  1. 次に、locationManager が次のコードで収束したときに、Web サイト上のユーザーの場所を更新します。
-(void)locationManager:(CLLocationManager *)manager 
            didUpdateToLocation:(CLLocation *)newLocation
                   fromLocation:(CLLocation *)oldLocation 
{
            
    if((newLocation.horizontalAccuracy >  0.0f) && (newLocation.horizontalAccuracy < 7000.0f){
        [self update_website:self];
}

しかしupdate_website一向に呼ばれない。newLocation.horizontalAccuracyこれにより、 7000を下回ることは決してないと思います。

locationManager位置情報サービスがオンになっているにもかかわらず、収束に失敗する理由を知っている人はいますか?

4

2 に答える 2

3

ロケーションマネージャーのdelegateプロパティを設定して呼び出しstartUpdatingLocationましたか?

[myLocationManager setDelegate:self];
[myLocationManager startUpdatingLocation];

編集:これはテストデバイスで起こっているだけだと思いました。ユーザーデバイス上にある場合、精度が 7000m を超える可能性は十分にあります。修正に使用されているのがセルラー無線 (GPS なし、WiFi なし) のみの場合、セルタワーの密度に応じて、精度は約 1 ~ 10k です。ユーザーがオンライン (イーサネットまたは WiFi) であっても、WiFi が既知の (およびマップされた) ポイントのデータベースにあることは保証されません。

于 2013-03-04T15:28:45.650 に答える
0

エラーがなく、位置を計算するのに十分な信号が GPS にない場合、デリゲートは呼び出されません。GPS は場所を取得しようとし続けますが、デバイスが地下にある場合 (たとえば)、(キャッシュされた場所がない限り) 何も取得しません。

あなたは十分に長く待っていますか?デバイスに GPS 信号があり、データ ネットワーク (WiFi/セル) がない場合でも、ロケーション マネージャーはデータ ネットワーク経由で衛星天体暦を取得できません。GPS の位置情報を取得するには、2 ~ 10 分程度の長い時間がかかります。アシスト GPS ははるかに高速ですが、データ接続が必要です。

于 2013-03-05T01:15:28.150 に答える