python - 地理编码返回错误的纬度/经度
问题描述
我正在使用此代码对该地址进行地理编码以获取经纬度,但它返回的坐标错误。
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
解决方案
在 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'])
希望这可以帮助。
推荐阅读
- laravel - 如果记录部分出现在另一个表中,如何将它们标记为红色/绿色?
- amazon-dynamodb - DynamoDB - 无法“转义”输入
- python - 可变利率。当利息符合条件时,我怎样才能让利率切换
- python - 获得熊猫系列对象的平均值
- angularjs - 如果用户离开域,则获取用户对 beforeunload 事件的响应
- javascript - 我想根据输入文本框中的标记更改学生标签的颜色,但我的 java 脚本代码有问题
- tfs - 根据字段的值变化查询 TFS
- angular - 在功能模块中声明服务的最佳方式是什么?
- git - 无法访问 repo:OpenSSL SSL_connect: SSL_ERROR_SYSCALL 连接到 github.com:443?
- sql - 带有简单 SELECT/FROM/WHERE 语句的 SQL Teradata 错误 3704 - 找不到错误