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

任何人都可以说,当我使用GSM网络的位置时,我只能通过移动运营商的塔楼才能获得它,或者我可以通过不同运营商的塔来获得它?

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


不,您目前无法使用GPS或互联网获取位置信息。

基于WiFi,蜂窝或蓝牙的定位技术可以在不断更新的大型数据库的帮助下工作。 设备会扫描发射机ID,然后通过互联网将这些信息发送至Google,Apple或Skyhook等服务。 该服务根据先前从已知地点进行的无线调查得出的位置进行响应。 没有互联网访问,你必须有一个这样的数据库的本地副本,并保持最新。 对于全球使用,这是非常不切实际的。

理论上,移动运营商只能提供本地数据服务,但不能访问互联网,然后回答移动设备的位置查询。 移动提供商不这样做; 没有人愿意为这种受限制的数据访问付费。 如果您通过移动服务提供商提供数据服务,则可以访问互联网。

总之,使用LocationManager.NETWORK_PROVIDER或android.hardware.location.network来获取位置需要使用互联网。

使用最后一个已知的位置要求您最近有GPS或互联网访问。 如果你只有互联网,大概你可以调整你的位置或设置以重新上网。 如果你的设备没有GPS或互联网接入,最后一个已知的位置功能不会帮助你。

没有GPS或互联网,你可以:

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


您可以获取手机ID和LAC,并使用Google地图地理位置API。 但有时它会返回完全错误的结果。


如果您从以下方面处理此问题:

  • 用户有GPS但没有互联网连接 :使用SMS将GPS坐标传送给某些解码服务器

  • 用户根本没有GPS,但有WiFi:在这种情况下,您可以使用任何可用的WiPS提供商服务。 这基本上意味着根据已知的WiFi地址列表和它们的位置查询附近的WiFis。 同样的短信通信适用。

  • 用户既没有GPS也没有WIFI,只有GSM:如果你真的被一个只有GSM的用户卡住了。 那么你可能不得不使用三角测量技术,或者如果用户区域的网络提供商支持手机位置ID。 在三角测量的情况下,您需要一个已经可用的指纹数据库,其中包含不同供应商在不同位置或cids的网络强度。 然后,您将使用此信息来猜测用户的位置,并假设您将通过SMS与您的解码服务器进行通信。 如果设备确实有加速度计/陀螺仪/指南针,如果他们在路上,可以借助离线地图来猜测经度和纬度。

  • 这个答案对你可能感兴趣的任何其他技术可能有帮助,但如果使用错误/不正确的话,其中大多数将是不切实际的。

    链接地址: http://www.djcxy.com/p/94865.html

    上一篇: Android GSM location with different mobile operators

    下一篇: vscode Intellisense NodeJs