高德地图接口调用

高德地图api的调用方法


前言

高德地图开放平台有很多提供开发者使用的工具,https://lbs.amap.com/,访问官网注册。

一、创建应用获取key,选择api类型

可以获取到key值,这也是等下要用到的数据
在开放平台里面注册后,打开我的应用,并创建应用,回到首页点击开发支持里的web服务API,里面有大量的说明文档和类型接口,开发者可以根据实际情况选择,操作上基本上大同小异。


二、使用步骤

这里以调用路径规划里的骑行路径规划为例子。

1.分析接口组成(参数类型,含义等)

在这里插入图片描述


这里提到一个url和get方法,还有一些必要参数,下面直接上代码:
import requests # 导入requests
import re # 正则等下会应用到提参
if __name__ == '__main__':

    url = 'https://restapi.amap.com/v4/direction/bicycling?'
    params = {
        'key': 'c26090cfad60515aa67024f2c4c644db', # 应用key值
        'origin': 'origin', # 输入起点经纬度
        'destination': 'destination', # 输入终点经纬度
        'output': 'json'# 输出格数 可以是xml 这里为了方便直接json
        }
    r = requests.get(url=url, params=params).text 
    # get请求后面除了带上url,还有参数集params

pycharm输出:
在这里插入图片描述


json如下:

在这里插入图片描述
是不是很乱,下面我们来清洗数据


2.分析json属性值

代码如下(示例):

"destination":"116.465302,40.004717","origin":"116.481028,39.989643"
"paths"[]
"orientation"""
.
.
.
@等等,包括方向,距离,道路名称的都是需要的吧
@这里直接用上正则来匹配它们,为什么不用xpath,bs4?后者对于json格式来说操作性不灵活,所以这里直接上手正则


distance_data = '"distance":(.*?),'
duration_data = '"duration":(.*?),'
action_data = '"action":"(.*?)"'
instruction_data = '"instruction":"(.*?)"'
orientation_data = '"orientation":"(.*?)"'
polyline_data = '"polyline":"(.*?)"'
road_data = '"instruction":"(.*?)"'
steps_data = '"steps":(.*?),"errcode"'


distance_list = re.findall(distance_data, r)
duration_list = re.findall(duration_data, r)
action_list = action_debug
instruction_list = re.findall(instruction_data, r)
orientation_list = re.findall(orientation_data, r)
polyline_list = re.findall(polyline_data, r)
road_list = re.findall(road_data, r)

3.每种属性值提取后,可以优化使用

    n = len(action_debug)
    print('一共' + str(n) + '步')
    for a in range(n):
        print("第" + str(a) + '步')
        distance_list = re.findall(distance_data, r)[a]
        duration_list = re.findall(duration_data, r)[a]
        action_list = action_debug[a]
        instruction_list = re.findall(instruction_data, r)[a]
        orientation_list = re.findall(orientation_data, r)[a]
        polyline_list = re.findall(polyline_data, r)[a]
        road_list = re.findall(road_data, r)[a]

给一个循环让输出值按一步步来实现,更加直观。


   origin = input('inter a origin:  ' + str(''))
   destination = input('inter a destination:  ' + str(''))

  'origin': origin,
  'destination': destination,

经纬度可以自由填写
在这里插入图片描述


全部代码

import requests
import re

distance_data = '"distance":(.*?),'
duration_data = '"duration":(.*?),'
action_data = '"action":"(.*?)"'
instruction_data = '"instruction":"(.*?)"'
orientation_data = '"orientation":"(.*?)"'
polyline_data = '"polyline":"(.*?)"'
road_data = '"instruction":"(.*?)"'
steps_data = '"steps":(.*?),"errcode"'

origin = input('inter a origin:  ' + str(''))
destination = input('inter a destination:  ' + str(''))

if __name__ == '__main__':

    url = 'https://restapi.amap.com/v4/direction/bicycling?'
    params = {
        'key': 'c26090cfad60515aa67024f2c4c644db',
        'origin': origin,
        'destination': destination,
        'output': 'json'}
    r = requests.get(url=url, params=params).text
    print(r)
    steps_list = re.findall(steps_data, r)[0]
    action_debug = re.findall(action_data, r)
    str_list = ['']
    n = len(action_debug)
    print('一共' + str(n) + '步')
    for i in range(n):
        if action_debug[i] in str_list:
            action_debug[i] = 'none'
            print(action_debug)
    for a in range(n):
        print("第" + str(a) + '步')
        distance_list = re.findall(distance_data, r)[a]
        duration_list = re.findall(duration_data, r)[a]
        action_list = action_debug[a]
        instruction_list = re.findall(instruction_data, r)[a]
        orientation_list = re.findall(orientation_data, r)[a]
        polyline_list = re.findall(polyline_data, r)[a]
        road_list = re.findall(road_data, r)[a]

        print(distance_list, duration_list, action_list, instruction_list, orientation_list, polyline_list, road_list)



LabVIEW是国际上广泛应用于工程和科学领域的图形化编程环境。而高德地图则是一款知名的地图服务应用程序。如何在LabVIEW中调用高德地图呢?以下是一种可能的方法: 首先,我们需要在LabVIEW中安装和配置Web Browser控件。这个控件可以用于显示网页内容,并且可以集成在LabVIEW的用户界面中。 然后,我们需要获取高德地图API密钥。在高德开放平台上注册账号,创建一个应用程序,并获取到对应的API密钥。API密钥是用于标识唯一应用程序的凭证,确保安全的访问权限。 接下来,在LabVIEW中,使用Web Browser控件创建一个网页视图。在视图中,加载高德地图API链接并将API密钥作为参数传递。这样,LabVIEW就能够在界面中显示高德地图了。 在需要调用高德地图的时候,可以使用LabVIEW的其他控件,如按钮、文本框等,通过相应的事件来触发相关功能。比如,可以根据用户输入的地址,调用高德地图API接口来获取该地址的经纬度信息,并在地图上标注出来。 值得注意的是,为了保证数据的安全性和可靠性,我们需要处理错误和异常情况。比如,在网络连接失败的情况下,应该给出相应的提示信息。 总的来说,通过配置Web Browser控件和使用高德地图API密钥,我们可以在LabVIEW中调用高德地图,并将其与LabVIEW的其他功能结合,实现更加丰富的地图展示与应用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.岸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值