目录
6. folium库将高德标准经纬度对应的点位标注在Leaflet(网页)上
7. folium库将两个高德标准经纬度所连路段标注在Leaflet(网页)上
一、本文章实现功能
1. 根据地名查找对应的高德标准经纬度
2. 将百度标准经纬度转换成高德标准经纬度
3. 将excel中的经纬度等信息导入
4. 将高德标准经纬度对应的点位标注在Leaflet(网页)上
5. 将两个高德标准经纬度所连路段标注在Leaflet(网页)上
二、代码及使用方法
1. 本文所使用的python库
import folium
from folium.plugins import FloatImage
import pandas
import requests
import math
下载库:在cmd中输入以下代码或在pycham中下载。(File - Settings - Project:untitled - Poject Interpreter - "+" - 搜索库名)
pip install folium
pip install pandas
pip install requests
2. 由具体地名获得其对应高德标准经纬度
def gd_map(addr):
para = {'key': 'xxxxxxxxxxxxxxxxxxx', 'address': addr} # key填入自己在高德开放平台上申请的key
url = 'https://restapi.amap.com/v3/geocode/geo?' # 高德地图地理编码API服务地址
result = requests.get(url, para) # GET方式请求
result = result.json()
lon_lat = result['geocodes'][0]['location'] # 获取经纬度
lon_lat = lon_lat.split(",") # 把经纬度以","为界分割
lon = float(lon_lat[0]) # 获取的经纬度格式为[经度,纬度]
lat = float(lon_lat[1])
print(addr, "的高德标准经纬度为: (", lon, ",", lat, ")")
return lon, lat # 返回经纬度(float)
addr = '杭州市杭州东站' # 输入想要查询的文字地址(尽量详细)
lon, lat = gd_map(addr) # 调用函数
函数名 | gd_map |
传入数据 | 查询地址addr(str) |
返回数据 | 经度lon(float),纬度lat(float) |
首先要自己注册一个高德地图开放平台的开发者账号并进行认证(官方网址:高德开放平台 | 高德地图API) ,登陆后点击右上角头像旁边的“控制台”,进入高德控制台页面。点击左侧”应用管理“及下面的”我的应用“,点击右上角的”创建新应用“,设置好名称和类型。
在我的应用中找到刚刚创建的应用,点击”添加key“。
之后在”服务平台“中勾选”Web服务“,我们主要需要的是其中的地理编码API。
然后把key下面的一串字符串复制下来,填入代码中第二行的'key'=' '内即可。
查询时在倒数第二行的addr = ' '内输入想查询的地点,该函数会返回其对应的经度lon(float)以及纬度lat(float)。
示例:addr &#