今天我们来看一下,如何通过百地图API来获取地点的经纬度。首先百度地图提供了强大的API接口,我们可以通过调用它来实现目的。这是网址:https://lbsyun.baidu.com/。首先想要调用API接口,先要注册账号,注册成功后,会有一个开发者认证,输入邮箱,手机号就可以了。认证通过之后呢,我们就可以创建应用来获取AK了。AK就是调用API接口的凭证。打开控制台,点击创建应用,在应用类型那选择浏览器端,因为我们要通过浏览器来获取嘛,界面应该就是下面的样子。

填完之后呢,在我的应用里会出现你刚刚设置的,复制一下AK,一会儿用的到。好了,准备工作基本上就完成了,下面我们就可以去调用API了。我们先来获取北京地铁1号线的所有站点,通过一个简单的爬虫程序就可以搞定。from bs4 import BeautifulSoupfrom urllib.request import urlopencity_subway = {}url = "https://baike.baidu.com/item/%E5%8C%97%E4%BA%AC%E5%9C%B0%E9%93%811%E5%8F%B7%E7%BA%BF"def subway_station_1(subway,url):bsObj_1 = BeautifulSoup(urlopen(url).read())for i in bsObj_1.find_all("table"):if i.find().text == subway + "首末车时刻表":station_list = []for tr in i.find_all("tr"):for td in tr.find_all("td"):if (td.get("colspan") == "1" and td.get("rowspan") == "1"):station = td.get_text()station_list.append(station)city_subway[subway] = station_listreturn city_subway这样我们就得到了一个city_subway 的字典,里面包含着地铁一号线的各种信息。{"北京地铁1号线": ["苹果园","古城","八角游乐园","八宝山","玉泉路","五棵松","万寿路","公主坟","军事博物馆","木樨地","南礼士路","复兴门","西单","天安门西","天安门东","王府井","东单","建国门","永安里","国贸","大望路","四惠","四惠东"]}接下来,我们就来获取每个站点的经纬度。百度地图已经给出了参考文档,我们根据这个文档来做就行。网址是https://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding。它给出了一个url,这个url就可以返回我们想要的经纬度信息。如下所示:

我们只需要获取上面这个页面就可以了,address=后面加上我们想要查询的地址,ak=后面加上刚刚申请好的AK。import requestsimport restation_long_lat = {}pathen = re.compile(r""lng":(\d+.\d+),"lat":(\d+.\d+)")for station in city_subway.values():for line in station:api_url = "http://api.map.baidu.com/geocoding/v3/address=" + line_name + line + "&output=json&city=北京市&ak=换成你的&callback=showLocation"r = requests.get(api_url).textlng,lat = pathen.findall(r)[0]station_long_lat[line] = (float(lng),float(lat))然后我们就可以得到站点的经纬度了。{"苹果园": (116.18963446946083, 39.934641008155275),"古城": (116.5201500019005, 39.91496364870823),"八角游乐园": (116.21884171520198, 39.91306522416191),"八宝山": (116.2250072350697, 39.91305851389836),"玉泉路": (116.5201500019005, 39.91496364870823),"五棵松": (116.27795244196295, 39.916132266625176),"万寿路": (116.28651600994891, 39.91380009777728),"公主坟": (116.5201500019005, 39.91496364870823),"军事博物馆": (116.33078176654712, 39.91560053332307),"木樨地": (116.5201500019005, 39.91496364870823),"南礼士路": (116.5201500019005, 39.91496364870823),"复兴门": (116.5201500019005, 39.91496364870823),"西单": (116.5201500019005, 39.91496364870823),"天安门西": (116.5201500019005, 39.91496364870823),"天安门东": (116.5201500019005, 39.91496364870823),"王府井": (116.5201500019005, 39.91496364870823),"东单": (116.5201500019005, 39.91496364870823),"建国门": (116.44226799215203, 39.91453005191511),"永安里": (116.45905573752259, 39.910516038804346),"国贸": (116.46783149874459, 39.91879959387437),"大望路": (116.46116905872637, 39.914107935722996),"四惠": (116.51463108233885, 39.91166587774982),"四惠东": (116.52252188776905, 39.91423992513861)}是不是很简单,很方便。下面我来说一下我刚开始用的时候遇到的问题,给大家个参考。

1.如果你直接用在notebook中用requests.get(api_url),会返回,看到这个不要觉得是哪里有问题了,这是正常的。我们可以获取它的文本就好。

2.为什么我在address=后面加了一个line_name + line ,这个line_name就是北京地铁1号线。因为之前我直接加站名的话,有时候会出现定位不准的情况,所以加上路线名会更准确。

这就是全部的内容了,如果有什么错误的话,欢迎给我留言,互相学习!

php 百度地图api获取经纬度,调用百度地图API接口获取地铁站的经纬度信息相关推荐

  1. APICloud,内置API及url调用百度地图导航

    内置API及url调用百度地图APP导航 方法中的两个参数,为自己当前位置的经纬度 function arouseMap(lon,lat){var location = $api.getStorage ...

  2. 百度地图AK申请注意+百度地图API生成热力图+调用百度地图API自动获取经纬度和地址

    文章目录 一.百度地图AK密钥申请 二.调用百度地图API生成热力图 三.调用百度地图API自动获取经纬度和地址 一.百度地图AK密钥申请 点击百度地图API控制台,输入登录账户,即可进入,若账户未完 ...

  3. python调用百度地图实现导航_python调用百度地图WEB服务API获取地点对应坐标值

    本篇博客介绍如何使用Python调用百度地图WEB服务API获取地点对应坐标值,现有一系列结构化地址数据(如:北京市海淀区上地十街十号),目的是获取对应坐标值. 百度地图开发者平台路线规划使用说明网址 ...

  4. android h5调用百度地图,h5页面如何调用百度地图获取当前位置(代码)

    本篇文章给大家带来的内容是关于h5页面如何调用百度地图获取当前位置(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在项目中越来越多的用到了手机的GRS定位功能,使用百度地图A ...

  5. 百度高德位置定位服务器,调用百度、高德地图App,百度地图网页版,App定位

    1.首先判断是否安装了目标地图App //判断是否安装目标应用 public static boolean isInstallByread(String packageName) { return n ...

  6. 高德地图 web android,Android 调用第三方地图类App (高德 百度 百度网页版)

    Screenshot_20170509-152819.png 前言 最近项目中需要用到地图的功能,但是应用本身不是地图类应用,而且用地图只是为了分享和展示一个地点而已,所以完全没有必要去集成厚重的sd ...

  7. 百度翻译api设置 java_Java调用百度API实现翻译

    下面是Java调用百度API实现翻译的具体步骤: 一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址申请的详见点击打开链接 申请之后,会得到APP_ID和SECURITY_KEY 二.j ...

  8. python调用高德地图api 可视化_Python调用高德地图API实现经纬度换算、地图可视化...

    前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出的轻量级可视化平台上实现一键式地图可视化,这其中需要申请密 ...

  9. BaiduMap---百度地图官方Demo之调用百度地图(介绍如何调启百度地图实现自身业务功能)

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

最新文章

  1. electron 开发环境搭建
  2. python学习HTML之CSS(2)
  3. mysql导出csv格式去除字段中的\n\r
  4. 6本Android开发必备图书
  5. ES6的新特性(9)——对象的扩展
  6. html斜删除线怎么设置,html如何设置加粗、倾斜、下划线、删除线等字体效果
  7. 计算机模拟 matlab,MATLAB计算机模拟实例课件.ppt
  8. 面试必问JavaScript基础面试题(附答案详解)
  9. SDRAM控制器设计(9)用读写FIFO优化及仿真验证
  10. JavaScript - canvas - 使用鼠标画线,带撤销与重做功能
  11. mongodb 下载
  12. 标准贴片电阻电容的焊接方法
  13. python token_bytes_Python secrets.token_bytes方法代码示例
  14. 【长篇博文】Docker学习笔记与深度学习环境的搭建和部署(一)
  15. C语言,库函数中qsort的用法,及解释
  16. 深度学习框架之paddlepaddle
  17. ANDROID以流形式上传文件
  18. 国家级荣誉!烽火参建的这个项目获“鲁班奖”
  19. android-tissue_habit-1
  20. ubuntu中vi编辑模式下按退格键不能删除内容,按方向键不能上下左右移动

热门文章

  1. Github Fork 之后与源仓库保持同步
  2. DWG文件中怎么插入jpg
  3. 网络:使用ip route-static配置静态路由
  4. Java编程语言的8大优势
  5. Amazon Connect录音配置
  6. Erp 公司系列:QAD
  7. 某K字头运动软件逆向分析-课程精讲
  8. 【原创】NES第二波:如何用VS Code,编写NES/FC游戏程序。
  9. 计算机投标书开题报告,投标书开题报告.doc
  10. idesk卸载教程_【亲测可行】Autodesk 卸载工具,一键完全彻底卸载删除autodesk软件专门卸载工具...