利用python和百度地图API实现数据地图标注_百度地图api 自动计量数据

import json  
from urllib.request import urlopen, quote  
import requests  
def getlnglat(address):  
    url = 'http://api.map.baidu.com/geocoder/v2/'  
    output = 'json'  
    ak = '你的百度地图ak' # 百度地图ak,具体申请自行百度,提醒需要在“控制台”-“设置”-“启动服务”-“正逆地理编码”,启动  
    address = quote(address) # 由于本文地址变量为中文,为防止乱码,先用quote进行编码  
    uri = url + '?' + 'address=' + address  + '&output=' + output + '&ak=' + ak   
    req = urlopen(uri)  
    res = req.read().decode()   
    temp = json.loads(res)  
    lat = temp['result']['location']['lat']  
    lng = temp['result']['location']['lng']  
    return lat,lng   # 纬度 latitude   ,   经度 longitude  ,  

3. 抓取经纬度
for indexs in data.index:  
    get_location = getlnglat(data.loc[indexs,'圈定区域'])  
    get_lat = get_location[0]  
    get_lng = get_location[1]  
    data.loc[indexs,'纬度'] = get_lat  
    data.loc[indexs,'经度'] = get_lng  
  
data  

已经自动查找到对应的经纬度(不排除部分搜索不准,但是大概看过,还是挺准的。)

4. 生成HTML适配的格式
data_html = pd.DataFrame(columns=['content'])  
  
for indexs in data.index:  
    data_html.loc[indexs,'content'] = '{' + \  
                                      '"lat":' + str(data.loc[indexs,'纬度']) + ',' +  \  
                                      '"lng":' + str(data.loc[indexs,'经度']) + ',' +  \  
                                      '"quyu":' + '"' + str(data.loc[indexs,'圈定区域']) +'"' +   \  
                                      '}' + ','  
  
data_html.to_csv ("data\_html.csv",encoding="gbk")  
data_html  

生成对应的格式,然后就copy出来了。

二、使用百度地图API官网的html例程,修改数据部分,实现呈现效果

1. copy百度地图API官网的HTML例程

地址:http://developer.baidu.com/map/jsdemo.htm#c1_19

2. 修改部分内容
  1. 放上自己的百度地图AK
  2. 修改一下地图初始化显示的中心和缩放的系数
  3. 放上自己需要显示的信息,记得把数据中最后一个的逗号删除

修改前:

修改后:

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用Python获取百度地图POI数据,可以使用百度地图API提供的web服务来实现。首先,你需要申请一个百度开发者账号,并创建一个应用程序以获取访问API的密钥。 接下来,你可以使用Python中的requests库来发送HTTP请求并获取百度地图的POI数据。首先,你需要构建一个HTTP请求URL,包括你的密钥和其他必需的参数,比如城市、关键词等。然后,发送GET请求到百度地图API,并获取返回的JSON数据。 下面是一个示例代码,演示如何使用Python获取百度地图的POI数据: ```python import requests # 设置百度地图API的密钥和其他参数 api_key = "你的密钥" city = "北京市" keyword = "餐厅" # 构建HTTP请求URL url = f"http://api.map.baidu.com/place/v2/search?query={keyword}&region={city}&output=json&ak={api_key}" # 发送GET请求并获取返回的数据 response = requests.get(url) data = response.json() # 处理返回的数据 if data["status"] == 0: # 输出POI数据 for poi in data["results"]: print(poi["name"], poi["address"], poi["telephone"]) else: print("获取POI数据失败") ``` 在这个示例代码中,我们使用了requests库来发送GET请求并获取返回的JSON数据。然后,我们可以通过解析JSON数据来提取感兴趣的POI信息,比如名称、地址和电话号码。 需要注意的是,在构建HTTP请求URL时,我们使用了f-string来方便地将参数插入URL中。此外,你还需要根据你的需求来调整代码中的其他参数,比如城市和关键词。 这只是一个简单的示例,你可以根据自己的需求来扩展和优化代码。希望这个答案能帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值