首页 > 解决方案 > 地理编码返回错误的纬度/经度

问题描述

我正在使用此代码对该地址进行地理编码以获取经纬度,但它返回的坐标错误。

import requests
address = '50 Bega St, Tathra NSW 2550, Australia'
response = requests.get('https://maps.googleapis.com/maps/api/geocode/json?address= address &key= ****')

resp_json_payload = response.json()

print(resp_json_payload)
print(resp_json_payload['results'][0]['geometry']['location'])

预期结果:-36.730478 149.985058

实际结果:'lat':37.09024,'lng':-95.712891

标签: pythongoogle-mapsgoogle-geocoder

解决方案


在 Python 3.6 上编译的代码,您可能希望对旧版本的 Python 使用不同的 url 解析库。

import requests
import urllib.parse
address = '50 Bega St, Tathra NSW 2550, Australia'
api_key = 'your_api_key'
encoded_address = urllib.parse.quote(address)
response = requests.get('https://maps.googleapis.com/maps/api/geocode/json?address='+encoded_address+'&key='+api_key)

resp_json_payload = response.json()

print(resp_json_payload)
print(resp_json_payload['results'][0]['geometry']['location'])

希望这可以帮助。


推荐阅读