0

Location API と Telephony API を使用した場所の取得の違いは何ですか?

以前、位置情報サービスが有効になっていない場合の位置情報の取得について質問しました。参照:位置情報サービスが有効になっていない場合の GPS 座標の取得

どうやら、電話 API を使用して、http://developer.android.com/reference/android/telephony/CellLocation.htmlこれが可能です。これは、基地局 ID と思われる整数を返しますか?

私は正しいですか?違いは何ですか?

4

3 に答える 3

4

Location API または Telephony API から位置を取得する際の基本的な違いは、位置を取得する方法にあります。

Location APIは、GPS ネットワークに基づいて位置を返します。Android デバイスは、GPS ネットワーク内の衛星からの距離を要求し、記述された球の境界に沿って交点をプロットしますが、 Telephony APIはセル ID (getCellLocation() に応答して取得する整数) に基づいて位置を特定します。あなたの電話は事実上、常に最寄りの基地局に接続されていることはすでにご存知でしょう。各セル タワーの正確な位置は、そのオペレーターによって知られており、ロケーション エリア コー​​ド (LAC) 内のセル ID としてタワーに割り当てられます。お使いの携帯電話は、接続先のすべてのタワーのセル ID と LAC を保存し、大まかな位置情報を提供します。

詳細については、このリンクにアクセスしてください。

于 2012-11-26T06:32:11.890 に答える
1

CellLocation は、位置取得メソッドを一切提供しない抽象基本クラスです。代わりに、CdmaCellLocation または GsmCellLocation を使用する必要があります。

CdmaCellLocation は getBaseStationId を提供します。これはおそらく、基地局 ID の int を返すものと呼ばれるものです。CdmaCellLocation は、getBaseStationLatitude と getBaseStationLongitude も提供します。これは、CDMA デバイス上でまさに必要なものです。ただし、GsmCellLocation はそのようなメソッドを提供しません。CID/LAC を緯度と経度に変換するには、CID と LAC、および openbmap や opencellid などのサービスを使用する必要があります。

要するに、Location API は簡単な方法で場所を提供します。テレフォニー API は、セル接続 (存在する場合) に関する情報を提供し、GSM と CDMA の両方に個別の実装を提供する必要があります。また、デバイスに GPS がありテレフォニーがない場合、ユーザーを台無しにしてしまいます。また、以前にいただいた返信を指摘したいと思います: https://stackoverflow.com/a/13491028/198480

于 2012-11-26T06:24:26.997 に答える
0

Location API は gps、agps、または glonass を使用して位置を取得しますが、テレフォニー API では、位置はキャリア (携帯電話会社) から返されるため、gps の位置ほど正確ではありません。テレフォニー API は、三角測量を使用して位置を計算します。

于 2012-11-26T06:10:01.050 に答える