编程语言
首页 > 编程语言> > Python高德地图API实用篇

Python高德地图API实用篇

作者:互联网

 

这里介绍高德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