python - 使用 Google Api 并且我已经导入了 Json 和 Requests 以获得要显示的 int 类型的提升
问题描述
import json,requests
def elevation(lat,lon):
apikey="MY_KEY"
url="https://maps.googleapis.com/maps/api/elevation/json"
response=requests.get(url+"?locations="+str(lat)+str(lon)+"&key="+apikey)
data=response.json()
print(data["results"][0]["elevation"])
elevation(39.73915360,-104.98470340)
错误:
Traceback (most recent call last):
File "c:\------\elevation.py", line 13, in <module>
elevation(39.73915360,-104.98470340)
File "c:\------\elevation.py", line 10, in elevation
print(data["results"][0]["elevation"])
IndexError: list index out of range
我想这是对的。数据是字典类型,所以我相信 data["results"][0]["elevation"] 是正确的。不知道它是如何超出范围的。我尝试了样本中的 2 个不同位置,它们都有这个错误。
这是那里网站上 google 海拔 api 的示例请求
解决方案
请一次打印“数据”和“响应”的值,并检查您是否得到正确的输出。我猜响应是空白的,所以你正面临这个问题,因为它无法从空数据中找到第 0 个索引。
推荐阅读
- javascript - 在打开新模态之前关闭其他模态
- ruby-on-rails - 如何将 API 的有效负载作为 ruby 函数中的参数
- c++ - SQL 失败 - 没有返回值的文档
- flutter - Flutter chrome 调试无法启动
- firebase - 基于主题的 Firebase Firestore 聊天消息
- android - 如何将带有数据类的数据从对话框片段传递到另一个带有kotlin接口的片段?
- python - IndexError: list index out of range if words[i+1] in vector: for c in range(len(vector)):
- c++ - QT4:如何从ui生成头文件
- python - 从坐标和密度列表中制作密度图
- node.js - 在 NODEJS 中将“2021 年 6 月 9 日,下午 1:50:00”转换为 2021-06-09 13:50:00 日期格式