問題タブ [location-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1370 参照

android - LocationClient に関する問題

LocationClient を使用して頻繁に位置情報の更新を要求するサービスを作成した位置情報ベースのアプリケーションを開発しています。データ パックがオンの場合、アプリケーションは正しい現在位置を表示しますが、WiFi に切り替えるとすぐに、アプリケーションは間違った位置を表示します (より正確には、以前の位置の 1 つです)。

オフィスに向かう途中、データ パックをオン (WiFi なし) にしてアプリケーションを開始しました。私がオフィスに着くまで、それは私の正しい場所を示していました。オフィスに着いた後、私はWiFiに切り替えました。WiFiに切り替えると、オフィスにいるにも関わらず自宅が現在地として表示されるようになりました。再びデータパックに切り替えると、正しい場所が表示されました。

LocationClient で同様の問題に直面した人はいますか? 過去 2 日間、この問題に取り組んできましたが、LocationClient のこのような奇妙な動作の解決策や理由を見つけることができませんでした。どんな助けでも本当に感謝します。

現在地サービスの編集

}

0 投票する
2 に答える
7525 参照

android - デバイスの再起動後、Android でジオフェンスがアクティブなままになりますか

インストールされているアプリケーションの存続期間中に誰かが複数のサイトに出入りするときにジオフェンシングを使用する必要があるアプリケーションを作成しています。

私のジオフェンシングの実装 (以下の 2 番目のリンクと非常によく似ています) は、最初にアプリケーションをインストールしたとき、ジオフェンスに出入りするとき、およびモックの場所を使用してシミュレートするときの両方で、デバイスが再起動されるまで、すべて正常に動作します。

再起動時に、場所を模擬したり、実際にジオフェンスに出入りしたりしても、イベントがトリガーされたり、保留中のインテントがブロードキャスト レシーバーに送信されたりすることはありません。

私は次の3つのリンクを見て、かなりのドキュメントも読みましたが、再起動後に登録されたジオフェンスが持続するか持続しないかをまっすぐに言う決定的な答えを見つけることができません.

これらは、スタック オーバーフローで確認したリンクです: Android ジオフェンスは再起動に耐えますか?

Android ジオフェンスは、最終的に遷移インテントの取得を停止します

Android ジオフェンスは、削除/期限切れになるまでアクティブのままですか、それとも PendingIntent が起動されるまでのみアクティブのままですか

誰かがたまたま再起動後に固執するかどうかの答えを知っている場合、またはそうでない場合は回避策がある場合は、大歓迎です! 私の最後の希望は、BOOT_COMPLETED のリスナーを作成し、起動時に再登録することですが、絶対に必要な場合にのみこれを行うことを好みます。

よろしくお願いします!

編集:決定的な(書面による)回答は見つかりませんでしたが、TonyC氏が投稿したものが正しいと確信しており、その解決策を選択しました。どうもありがとうTonyC!

誰かが私が持っているソリューションを見たい場合に備えて、デバイスの起動時に起動完了アクションをリッスンし、必要なすべてのジオフェンスを再登録します。

これはマニフェストにあります:

次に、ブート時にジオフェンスを再登録するブロードキャスト レシーバーを作成します。

また、起動時にジオフェンス内にいる場合、通常、ジオフェンスが登録されると、ジオフェンスの保留中の意図がトリガーされることにも注意してください。

たとえば、ジオフェンスがアプリを起動した場合、たまたまジオフェンス内にあるデバイスを起動すると、起動完了ブロードキャスト レシーバーがジオフェンスを登録し、位置情報サービスがどこにあるかを特定すると、アプリも開きます。それは。

それが誰かの助けになることを願っています。

0 投票する
1 に答える
202 参照

android - googleplayservices Locationclient はオフライン モードで動作します

ロケーション クライアントをオフライン モードで使用しています。

アプリは 10 秒ごとに場所を取得することになっています。Wi-Fi またはモバイル データがオンの場合、モバイル データを使用して位置情報を取得しますか? モバイルデータを使用して場所を取得するためだけに、ユーザーが 10 秒ごとに支払われることは望ましくありません。

GPS モバイル データもオンになっている場合、アプリはどの方法で位置情報を取得しますか?

私の目標は、ユーザーが支払うことなく、10秒ごとにロケーションクライアントを使用してロケーションを取得することです..

編集:モバイルデータがオンのときにGoogle Playサービスのロケーションクライアントがインターネットを使用することを教えてもらえますか?

洞察力のある知識はかなりのものです

ありがとう

0 投票する
0 に答える
369 参照

android - LocationClient の精度が正しくありません

新しい LocationClient をアプリに実装しましたが、テストを実行したところ、読み取り値が正しくないことに気付きました。

GPSなしで外を運転していました。無線LANオン。したがって、位置精度は、NETWORK に使用されたものにすぎません。

LocationClient を に設定しLocationRequest.PRIORITY_BALANCED_POWER_ACCURACY;、更新間隔を 15 秒に設定しました。

データを取得したら、 と で Location を評価しgetAccuracy()ますgetTime()。どちらの値も信頼できません。

25 ~ 50 m、場合によっては最大 100 メートルの精度が得られます。これは、WIFI の場所では一般的です。ただし、家を出ると、報告された場所 (getAccuray() < 100) は、現在の場所 (実際の精度 > 800m) とはあまり関係がありませんでした。セルタワーの場所に最もよく似ていました。私が旅行している時間に場所が更新されることはなかったので、常に同じセルタワーを指していました(ちなみに、私は約3 km移動していましたが、常にその地域にいました)。

さらにテストを行ったところ、Wi-Fi をオフにしてから少なくとも 1 分間は位置と精度が変わらないことがわかりました。歩いていたので、アクセルを踏む必要があります。繰り返しますが、位置は私がいる場所からかなり離れていましたが、精度はまだ 30 メートル未満でした。約 1 ~ 2 分後、正確な 800 m を超える精度で位置が報告されました。

私は精度が悪くても生きていけるが、それを知る必要がある.

実際の読み取り値が古い場合でも、時刻は常に最新の時刻に更新されます。これもバグのようです。誰かがすでに Google で問題を提起しています。

要約すると、その機能を使用できないことを意味します。古い測定値が現在の精度として報告され、測定値と一致しません。

Nexus 4 で行われたテスト。電話機は UMTS (3G) セルに接続されました。

これらは既知の問題ですか? それを回避する方法はありますか(正しい精度を得る)、または「古い」を使用する必要がありLocationManagerますか?

0 投票する
1 に答える
386 参照

android - 場所 クライアントが場所を返し、速度が返されない

私のAndroidアプリケーションでは、ロケーションマネージャーを使用してロケーションを取得しています。Android 4.0以下では問題なく動作しますが、Androidのそれ以降のバージョンでは、このロケーションマネージャーAPIでネットワークロケーションを取得するのが難しいことがわかりました.これは、ネットワークプロバイダーのロケーション変更イベントが呼び出されないことです.

そのため、プレイ サービスを使用してアプリケーションに正確な位置情報を提供するLocation Client に移動しましたが、この APIネットワークの位置情報の問題は解決されました。アプリケーションに正確な位置情報を提供しますが、常にlocation.getSpeed() を Zero として返します

ロケーションクライアントAPIを使用しているときに速度値を取得する方法はありますか.誰かがこのことを整理するのを手伝ってくれます.

0 投票する
0 に答える
1882 参照

java - 電池の少ない高精度の携帯電話基地局を使用してオフライン モードで現在地を取得する

thisおよびthisリンクをたどって現在の場所を取得しました。ここでは、Wi-fi と GPS を使用せずに現在の位置を取得していますが、位置が変更されたときに更新されません。GPS/Wi-fi を使用している場合は、更新が開始されます。ここでは、バッテリー消費が少なく精度が高いセルタワーのみに基づいて更新を取得したいと考えています。

これは私のコードです

MainActivity.java

LocationUtils.java

LocationServiceErrorMessages.java

0 投票する
0 に答える
207 参照

android - android LocationClientタイムアウトを設定するには?

ユーザーの現在の場所を取得する必要があるアプリに取り組んでいます。私はたくさんグーグルで調べましたが、LocationClient にはタイムアウト値を設定するオプションがないようです。Google 位置情報サービスを無効にして GPS 信号を無効にすると、接続が維持されます。タイムアウトを設定する方法はありますか? 接続時間が一定値を超えると、「タイムアウト」を表示します。

ありがとう!

0 投票する
1 に答える
1765 参照

android - LocationClientを使用して定期的に場所を取得する最良の方法は?

LocationClient を使用して、現在の場所を毎分取得しています。

ただし、LocationListener の onLocationChanged-method が 60 または 120 (またはその他の 60 の倍数) 秒 (+/- 3 秒) ごとに呼び出されることに気付きました。ドキュメントには次のように記載されています。

この間隔は不正確です。更新がまったく受信されない場合 (ロケーション ソースが利用できない場合)、または要求よりも遅く受信される場合があります。[...]

だから私は、間隔が正確に1分ではないことを知っています. しかし、60 秒が経過したら、たとえば 75 秒後にできるだけ早く現在地を取得すると考えました。しかし、LocationClient が場所を特定できない場合は、次の 60 秒後に単純に再試行するようです。

この仮定は正しいですか?

はいの場合、回避策として、間隔を 30 秒程度に設定し、onLocationChanged メソッドで必要な場所を除外します。しかし、それはおそらくより多くのバッテリー電力を消費します。