ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python高德地图API实用篇

2021-03-07 16:32:25  阅读:360  来源: 互联网

标签:步行 rows Python res 接口 API print 路段 高德


 

这里介绍高德API接口简单使用。

 

数据怎么来

高德地图官网有提供相应的开发支持,下面我们简单介绍一下。

1)官网链接:https://developer.amap.com/,选择开发支持,Web服务API。

 

 

 

2)做好注册,并新建应用获取KEY(调用接口时必需)。

 

 

 

3)当我们创建好应用,就可以获取到相应的KEY,这时候就可以操作接口获取地图数据了。点击我的应用,获取key。

 

 

 

接口调用

我们看到,开发者支持页面左边栏会提供许多接口支持,我们可以根据具体需求获取具体的数据。

 

 

这里简单介绍几个接口的获取方式。

1)获取地区天气情况。

先看一下效果图。输入对应的城市,即可查到城市的天气情况。

 

这里采用了两个接口,一个是获取城市行政区获取城市编码,再根据城市编码获取城市天气。

 

 

天气数据接口部分代码

def get_data(self):
    data = {"city": self.city, "key": self.key, "extensions": "base", "output": "json"}
    res = requests.get(self.url, data).json()
    return res

# 官网 https://developer.amap.com/api/webservice/guide/api/weatherinfo
def weather_report(self, res):
    if res["status"] != '1':
        print("Sorry {0} 天气获取ERROR!!!".format(self.city))
        return
    else:
        for _res in res["lives"]:
            print("{} {} 天气: {}, 气温: {}, {}风, 风力: {}, 湿度: {}。播报日期: {}".format(
                _res["province"], _res["city"], _res["weather"], _res["temperature"],
                _res["winddirection"], _res["windpower"], _res["humidity"], _res["reporttime"]
            ))

 

 具体相关参考参数,可以参考官网。

 

关键词搜索

当我们在使用高德地图的时候,不难发现,输入要查询的地址信息,立马就显示出来对应的位置。

这里采用 搜索POI-->关键词搜索。

这是官网上,对该接口的请求参数部分说明。具体可以参考官网链接

 

 

这是展示一下,接口调用效果图。会展示多个关键词信息,一般来说第一个既是我们所要的信息。(官网上会返回诸多信息,这里仅截取部分有用信息)

 

 

 

路线规划

我们经常使用地图,主要就是让地图提供路线规划,这里以步行路线接口为例。

 

 

根据官网中的接口,我们不难发现,上送的请求参数主要是key,出发点和终点坐标。然而我们平时不会去追究坐标情况,坐标信息我们需要通过其他接口去获取。

请输入出发点(城市+关键词)北京市 天安门广场
请输入终点(城市+关键词)北京市 故宫
预计花费时间: 22.0分, 预计步行距离: 1634米
********************1.rows********************
路段步行指示: 步行90米左转
此路段距离: 90米
此路段预计步行时间: 1.0分
********************2.rows********************
路段步行指示: 向东步行77米左转
此路段距离: 77米
此路段预计步行时间: 1.0分
********************3.rows********************
路段步行指示: 沿广场东侧路向北步行232米右转
此路段距离: 232米
此路段预计步行时间: 3.0分
********************4.rows********************
路段步行指示: 向东步行28米左转
此路段距离: 28米
此路段预计步行时间: 0.0分
********************5.rows********************
路段步行指示: 向北步行236米向左前方行走
此路段距离: 236米
此路段预计步行时间: 3.0分
********************6.rows********************
路段步行指示: 步行112米左转
此路段距离: 112米
此路段预计步行时间: 2.0分
********************7.rows********************
路段步行指示: 向西步行204米右转
此路段距离: 204米
此路段预计步行时间: 3.0分
********************8.rows********************
路段步行指示: 向北步行655米到达目的地
此路段距离: 655米
此路段预计步行时间: 9.0分

Process finished with exit code 0

 

路线代码如下

# https://restapi.amap.com/v3/direction/walking
@staticmethod
def del_walk(res):
    # print(json.dumps(res, ensure_ascii=False))
    if res["status"] != '1':
        print("ERROR")
        return
    else:
        paths = res["route"]["paths"]
        for path in paths:
            cnt = 1
            # 总步行预计时间/分
            duration = round(int(path["duration"])/60, 0)
            # 总步行距离
            distance = path["distance"]
            print("预计花费时间: {0}分, 预计步行距离: {1}米".format(duration, distance))
            for _res in path["steps"]:
                print("********************{0}.rows********************".format(cnt))
                print("路段步行指示: %s" % _res["instruction"])
                print("此路段距离: %s米" % _res["distance"])
                print("此路段预计步行时间: %s分" % round(int(_res["duration"])/60, 0))
                cnt += 1

 

公众号回复:“高德地图”获取完整代码

 

标签:步行,rows,Python,res,接口,API,print,路段,高德
来源: https://www.cnblogs.com/wmzhong/p/14495207.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有