Android GSM位置与不同的移动运营商

Ole*_*dan 7 java android location

有人可以说,当我使用gsm位置时,我只能使用我的移动运营商的塔,或者我可以使用不同运营商的塔获得它吗?

如果我的用户驾驶他的车,但没有任何他的移动运营商塔,设备如何获得其位置?只有GSM.

cha*_*rma 2

No, you cannot currently get location without using GPS or internet.

Location techniques based on WiFi, Cellular, or Bluetooth work with the help of a large database that is constantly being updated. A device scans for transmitter IDs and then sends these in a query through the internet to a service such as Google, Apple, or Skyhook. That service responds with a location based on previous wireless surveys from known locations. Without internet access, you have to have a local copy of such a database and keep this up to date. For global usage, this is very impractical.

Theoretically, a mobile provider could provide local data service only but no access to the internet, and then answer location queries from mobile devices. Mobile providers don't do this; no one wants to pay for this kind of restricted data access. If you have data service through your mobile provider, then you have internet access.

In short, using LocationManager.NETWORK_PROVIDER or android.hardware.location.network to get location requires use of the internet.

Using the last known position requires you to have had GPS or internet access very recently. If you just had internet, presumably you can adjust your position or settings to get internet again. If your device has not had GPS or internet access, the last known position feature will not help you.

Without GPS or internet, you could:

拍摄夜空照片并根据星图使用当前时间来估计您的位置。这可能需要额外的设备来确保正确测量照片的角度。使用加速计从已知位置开始跟踪位置。这种方法中错误的累积使得它在大多数情况下不切实际。