gpt4 book ai didi

java - 如何将位置区号转换为地址?

转载 作者:行者123 更新时间:2023-12-02 02:20:23 25 4
gpt4 key购买 nike

我想获取塔的位置,为此我正在使用 TelephonyManager,并且我正在获取位置区号,但我想将其转换为字符串以显示位置。

    TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
GsmCellLocation cellLocation = (GsmCellLocation)telephonyManager.getCellLocation();

int cellid= cellLocation.getCid();
int celllac = cellLocation.getLac();


Log.d("CellLocation", cellLocation.toString());
Log.d("GSM CELL ID", String.valueOf(cellid));
Log.d("GSM Location Code", String.valueOf(celllac));

这是代码,我在哪里获取位置区域代码,如何将其转换为字符串?

请帮忙谢谢..

最佳答案

LAC 代码只是 ovf 覆盖区域位置的运营商标识符 - 没有算法等可将其转换为 GPS 位置或街道地址。

现有数据库包含小区 ID 到位置的映射 - 例如,这是最著名的数据库之一:

您需要记住,这些本质上只是查找服务,因此如果数据库中的信息丢失或错误,您将无法获得正确的答案 - 即它不是基于来自 LAC 的任何算法映射。

还有一个 Google MAP 的 API,可让您传递移动基站信息并接收 GPS 位置响应:

这是一项 Web 服务 - 您发送一条 HTTPS POST 消息并获取响应。请求和响应的 JSON 示例(基于撰写本文时的上述链接)非常清楚地说明了它的使用方式:

请求 JSON:

{
"homeMobileCountryCode": 310,
"homeMobileNetworkCode": 410,
"radioType": "gsm",
"carrier": "Vodafone",
"considerIp": "true",
"cellTowers": [
{
"cellId": 42,
"locationAreaCode": 415,
"mobileCountryCode": 310,
"mobileNetworkCode": 410,
"age": 0,
"signalStrength": -60,
"timingAdvance": 15
}
]
}

响应 JSON:

{
"location": {
"lat": 51.0,
"lng": -0.1
},
"accuracy": 1200.4
}

您确实需要 API key 才能使用该服务 - 请参阅链接了解详细信息。

关于java - 如何将位置区号转换为地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48598598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com