googlegeolocationapi在使用CellIDs时总是返回相同的位置

2024-05-13 20:13:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在进行一个项目,使用谷歌地理位置API来请求我的位置

为了发送请求,我使用Python和requests库

我将请求发送到的URL是:

url = "https://www.googleapis.com/geolocation/v1/geolocate?key={MyKey}"

其中,{MyKey}由我的API键替换

请求的数据是

payload = """{ 
        "radioType":"gsm",
        "mobileCountryCode": 262,
        "mobileNetworkCode": 1,
        "considerIp": "false",
        "cellTowers": [

               {
                  "cellId": 63,
                  "locationAreaCode": 31007,
                  "mobileCountryCode": 262,
                  "mobileNetworkCode": 01,
                  "signalStrenght":-51
               }
            ] }"""

通过以下命令发出请求:

 response = requests.request("POST", url, data=payload)

响应包含代码200和在德国中心始终相同的GPS坐标

通过以下方式提取响应文本:

json.loads(response.text)

这会导致

{'location': {'lat': 51.165690999999995, 'lng': 10.451526}, 'accuracy': 272909.0}

这是一个非常不准确和完全错误的坐标

同样的坐标和精度也可以通过不同国家的不同单元ID检索到

有人有同样的问题并解决了吗? 我的要求中有没有错误的假设或错误

如何检索坐标的信息取自: https://developers.google.com/maps/documentation/geolocation/


Tags: 项目httpscomapiurlresponse错误地理位置