我正在尝试使用此处记录的Google地理位置API:
https://developers.google.com/maps/documentation/business/geolocation/
帮助定位4G移动设备
但是,API声明:
radioType:移动无线电类型。支持的值是gsm,cdma和wcdma。虽然此字段是可选字段,但如果值可用,则应包括该字段,以获得更准确的结果。
然后要求: locationAreaCode(必需):GSM和WCDMA网络的位置区域代码(LAC)。 CDMA网络的网络ID(NID)。
由于这是4G设备,因此它具有TAC,而不是LAC
有谁知道API是否可以与LTE设备一起使用,如果不是,这是否可能会改变?
答案 0 :(得分:1)
已经添加了对地理定位API的LTE支持。 首先,你应该在API调用中使用“radioType”:“lte”。 然后,经过一些实验,我意识到LTE小区的位置可以通过其唯一标识运营商网络中每个LTE小区的ECI获得(详见eCGI and CGI for LTE and GSM networks)。 换言之,可以以这种方式计算ECI:ECI = eNB_ID * 256 + Cell_ID。 小问题是一些运营商仅使用其ECI来识别LTE小区,而其他运营商使用对eNB_ID / Cell_ID(其具有相同含义但形式不同)。你必须试验一下:)
地理定位API调用本身如下:
{ "radioType": "lte" , "cellTowers": [ { "cellId": ECI, "locationAreaCode": 0, "mobileCountryCode": MCC, "mobileNetworkCode": MNC } ] }
一些工作样本:
O2捷克语:
{ "radioType": "lte" , "cellTowers": [ { "cellId": 217774337, "locationAreaCode": 0, "mobileCountryCode": 230, "mobileNetworkCode": 2 } ] }
Vodafone Czech:
{ "radioType": "lte" , "cellTowers": [ { "cellId": 561156, "locationAreaCode": 0, "mobileCountryCode": 230, "mobileNetworkCode": 3 } ] }