基于高德地图API在Python中实现地图功能的方法

本文介绍在高德开放平台 中,申请、获取地图APIKey 的方法;同时通过简单的Python 代码,调取API 信息,对所得Key的可用性加以验证。

首先,我们进入高德开放平台官方网站。如果大家是第一次使用高德地图开放平台,那么需要点击右上角注册一个开发者账号。

注册完毕后,登录这一账号,并点击如下图紫色框内所示的"控制台"。

随后,点击左侧"应用管理 "中的"我的应用 ",并到右上角点击"创建新应用";如下图所示。

随后,在弹出的窗口中,依据我们的需求,输入应用的名称及其类型;如下图所示。其中,名称 就按照我们实际需求来命名,类型则按照我们的应用场景来选择即可。

接下来,在界面右上角,点击"添加Key";如下图所示。

随后,为这个Key 命名,并选择所需的服务平台;如下图所示。我这里后续打算基于Python 语言的requests库来使用API ,所以这里就选择了"Web服务"。

随后,即可生成Key,如下图中紫色框内所示。

获取Key 之后,我们可以验证一下这个Key 是否可以使用。在这里,给出一个基于Python 语言,使用高德开放平台提供的"天气查询 "功能,对Key加以验证的代码;代码如下。

python 复制代码
# -*- coding: utf-8 -*-
"""
Created on Wed May 29 20:36:11 2024

@author: fkxxgis
"""

import json
import requests

key = "在这里输入您的key"
city_code = "410300"

response = requests.get("https://restapi.amap.com/v3/weather/weatherInfo?key=" + key + "&city=" + city_code)
text = response.text
result = json.loads(text)
need = result["lives"][0]

print("您查询的" + need["province"] + need["city"] + "在" + need["reporttime"] + "的天气为" + need["weather"] + ",温度为" + need["temperature_float"] + "," + need["winddirection"] + "风" + need["windpower"] +"级。")

其中,大家在使用上述验证代码时,需要将key = "在这里输入您的key"这句代码引号中的内容,修改为通过前述操作所获取的Key ;同时,还可以修改city_code,从而对不同城市、区域的天气加以查询。这里关于城市的代码,大家可以参考这个网站

随后,即可执行上述代码;执行代码后,将打印出指定区域在查询时刻的实时天气。

可以看到,已经可以获取到对应地区的实时天气了,说明前述获取Key的流程已经成功。

此外,关于API 使用的方法,我们后续会用更多博客来详细介绍,所以上述代码我们就暂时不再逐句解释了,在这里仅仅用来验证我们所获取的Key的可用性。

此外,对于每一位高德开放平台的开发者,我们所能调取不同功能API 的次数也是有每日限制的,具体配额我们可以在"我的应用 "中,通过"查看配额"选项来查阅;如下图所示。

至此,大功告成。

相关推荐
2301_803875614 小时前
PHP 中处理会话数组时的类型错误解析与修复指南
jvm·数据库·python
m0_743623924 小时前
c++如何批量修改文件后缀名_std--filesystem--replace_extension【实战】
jvm·数据库·python
2501_914245935 小时前
CSS如何处理CSS变量作用域冲突_利用特定类名重写变量值
jvm·数据库·python
菜鸟学Python5 小时前
Python生态在悄悄改变:FastAPI全面反超,Django和Flask还行吗?
开发语言·python·django·flask·fastapi
<-->5 小时前
Megatron(全称 Megatron-LM,由 NVIDIA 开发)和 DeepSpeed(由 Microsoft 开发)
人工智能·pytorch·python·深度学习·transformer
测试19986 小时前
2026最新软件测试面试八股文【附文档】
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
maqr_1107 小时前
MySQL数据库迁移到云端如何保障安全_数据加密与SSL连接配置
jvm·数据库·python
u0109147607 小时前
MySQL如何限制触发器递归调用的深度_防止触发器死循环方法
jvm·数据库·python
weixin_381288187 小时前
MySQL中如何使用HEX函数转换十六进制_MySQL进制转换函数
jvm·数据库·python
maqr_1107 小时前
HTML怎么生成订单预览_HTML只读订单信息结构【操作】
jvm·数据库·python