2

タクシー予約アプリケーションで顧客(タクシーの運転手)のデバイスで位置情報サービスを有効にしたときに、顧客(タクシーの運転手)がどのように体験するかを理解するためのコードを作成しました。同じリスナーでネットワークプロバイダーとGPSプロバイダーの両方を使用して位置情報サービスを有効にしました。

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
    // God.KM20TIME, God.KM20DISTANCE, (LocationListener) updates);

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, God.KM20TIME,
            God.KM20DISTANCE, (LocationListener) updates);

バッテリーが通常よりもはるかに早く切れました。また、電話が通常よりも熱くなっていました。しかし、私が期待していた一貫性は本当に低かった。私はGPSを使用せず、ネットワークプロバイダーのみを使用することにしました。タクシー予約アプリを作成しているので、タクシーのおおよその場所を知る必要があります。キャブが約15分前のおよそ(300メートル)の場所にあったことを知っていても、私は良いはずです。したがって、両方のプロバイダーを使用してこのロジックを過剰に設計しないという私の決定は正しいと思います。誰かがここで別の経験に関係することができるのだろうか?私は何かが足りないのですか?

4

1 に答える 1

1

私の経験から、ネットワークプロバイダーの品質はかなり異なる可能性があります。

ネットワークプロバイダーは、WiFiとセルタワー情報の組み合わせを使用して、位置情報を提供します。

都市化された地域では一般的であるが、都市の外ではないWifiネットワークの近くにいる場合、通常は非常に高い精度が得られます。

ただし、Wi-Fiの範囲外では、セルタワーに翻弄されます。ここで、精度は、セルタワーの品質と機能、および位置を三角測量するために使用できるセルタワーの数によって異なります。

このような状況では、品質は場所によって大きく異なりますが、使用するキャリア、セルタワー間の距離、セルタワーの製造元や世代によっても異なります。新しいものは場所に関してより多くの機能を持っており、例えばそれ自体でベアリングを提供するかもしれません。

私のアプリケーションはスウェーデンで実行されていますが、国の一部の地域では、通信事業者が非常に広いエリア内にタワーを1つしか持っていない場合があります。そのような場合、すべてのlon / lat修正は、最大20.000〜30.000メートルの精度でタワーに直接配置されます。

基本的に、私のポイントは、ネットワークプロバイダーを使用する場合、Wifiの近くにいない場合は、300メートルの精度で非常に満足するということです。

バッテリー/熱に関して-あなたの要件に応じて、あなたは時間/距離パラメータでたくさん遊んで、電話にそれほど負担をかけない「十分に良い」更新頻度を得ることができます。

于 2013-05-23T10:27:43.630 に答える