获取百度地图POI数据一(详解百度返回的POI数据)
POI是一切可以抽象为空间点的现实世界的实体,比如餐馆,酒店,车站,停车场等。POI数据具有空间坐标和各种属性,是各种地图查询软件的基础数据之一。百度地图作为国内顶尖的地图企业,其上具有丰富的POI数据,要获取其上的POI数据可以根据百度地图提供的API,但是这种方式有限制,能获取的数据极少。本文将详细介绍通过模拟HTTP请求的方式获取其上的POI数据。
当我们在百度地图的搜索框中通过输入关键字进行搜索时,这其实就是发送一个HTTP请求到百度的服务器,然后服务器返回数据。

打开网页的调试面板可以清楚的看到这些请求 以及服务器返回的数据 这些数据都是JSON格式的 在地址栏中输入请求的url http://map.baidu.com/?newmap=1&reqflag=pcmap&biz=1&from=webmap&da_par=direct&pcevaname=pc4.1&qt=s&da_src=searchBox.button&wd=%E4%BA%BA%E5%90%8D%E5%B9%BF%E5%9C%BA&c=289&src=0&wd2=&sug=0&l=17&b=(13522376.995,3640442.635;13522548.995,3641718.635)&from=webmap&biz_forward={%22scaler%22:1,%22styles%22:%22pl%22}&sug_forward=&tn=B_NORMAL_MAP&nn=0&u_loc=13506522,3642064&ie=utf-8&t=1500039457397
之后便能看到返回的JSON数据 将这些JSON文本复制到JSON在线校验的网站(如 www.json.cn)上可以更清楚的看到其中的信息

如上图所示 一个url返回这样一些数据 我提取的是其中content节点中的数据 在这个节点中 一个url最多返回十条数据 一条数据中包含很多个子节点数据 其中
x,y节点中的数据可以用来获取这条数据的坐标信息 百度的坐标系统有百度米制坐标和百度经纬度坐标 从x,y节点数据经过转换即可获得这两个坐标,这个在稍后的会讲解。
要想通过程序模拟构建url来发送http请求 就需要先了解url的参数构成 经过本人的多次尝试 将url参数减少为
http://map.baidu.com/?newmap=1&reqflag=pcmap&biz=1&from=webmap&da_par=direct&pcevaname=pc4.1&qt=s&da_src=searchBox.button&wd=人民广场&c=289&pn=0
最重要的就是最后三个参数 wd是搜索的关键词 c是搜索区域对应的城市编码,上海市对应的就是289 pn是返回数据的页码 不同的搜索关键词返回的数据的页数是不同的 因为百度会返回很多相关的信息(POI数据)
我是通过关键词得到百度百度返回的POI数据的 这就需要在url的参数中输入不同的关键词和页码来获取不同的POI数据 那么事先就应该准备很多搜索的关键词 尽可能多的关键词可以获取更多的POI 数据 下篇会讲解该如何准备百万级别的搜索关键字
获取百度地图POI数据一(详解百度返回的POI数据)的更多相关文章
- 百度地图API使用方法详解
最近做了个项目,其中项目中有个需求需要用到百度地图进行导航,通过查阅相关资料参考百度地图api完成了一个例子. API地址:http://developer.baidu.com/map/jsdemo. ...
- 【百度地图API】如何根据摩卡托坐标进行POI查询,和计算两点距离
原文:[百度地图API]如何根据摩卡托坐标进行POI查询,和计算两点距离 摘要: 百度地图API有两种坐标系,一种是百度经纬度,一种是摩卡托坐标系.在本章你将学会: 1.如何相互转换这两种坐标: 2. ...
- ContentProvider数据访问详解
ContentProvider数据访问详解 Android官方指出的数据存储方式总共有五种:Shared Preferences.网络存储.文件存储.外储存储.SQLite,这些存储方式一般都只是在一 ...
- iOS使用Charles(青花瓷)抓包并篡改返回数据图文详解
写本文的契机主要是前段时间有次用青花瓷抓包有一步忘了,在网上查了半天也没找到写的完整的教程,于是待问题解决后抽时间截了图,自己写一遍封存在博客园中以便以后随时查阅. charles又名青花瓷,在iOS ...
- 【HANA系列】SAP HANA XS使用JavaScript数据交互详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...
- JVM 运行时数据区详解
一.运行时数据区 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同数据区域. 1.有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,所有的线程共享这些数据区. 2.第二种则 ...
- 学习《深度学习与计算机视觉算法原理框架应用》《大数据架构详解从数据获取到深度学习》PDF代码
<深度学习与计算机视觉 算法原理.框架应用>全书共13章,分为2篇,第1篇基础知识,第2篇实例精讲.用通俗易懂的文字表达公式背后的原理,实例部分提供了一些工具,很实用. <大数据架构 ...
- 【HANA系列】【第一篇】SAP HANA XS使用JavaScript数据交互详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第一篇]SAP HANA XS ...
- 3dTiles 数据规范详解[1] 介绍
版权:转载请带原地址.https://www.cnblogs.com/onsummer/p/12799366.html @秋意正寒 Web中的三维 html5和webgl技术使得浏览器三维变成了可能. ...
- 【百度地图API】如何批量转换为百度经纬度
原文:[百度地图API]如何批量转换为百度经纬度 摘要: 百度地图API的官网上提供了常用坐标转换的示例.但是,一次只能转换一个,真的非常麻烦!!这里结合了官方的示例,自制一个批量转换工具,供大家参考 ...
随机推荐
- j2ee课程设计—基于activiti的请休假系统
前言 课设基于SSM框架,数据库采用mysql,主要业务交给activiti,版本控制利用github. 参考资料: Intellij 部署SSM框架 Activiti就是这么简单 方大师的教材 下文 ...
- linux下ifconfig命令看不到IP centos7——ens33
当前环境VMware15+centos7 在终端输入ifconfig后没有开到IP地址: 解决方法:root用户执行命令 cd /etc/sysconfig/network-scripts/ vi ...
- CSS scroll-behavior和JS scrollIntoView让页面滚动平滑
转自 https://www.zhangxinxu.com/wordpress/2018/10/scroll-behavior-scrollintoview-%E5%B9%B3%E6%BB%91%E6 ...
- Jmeter接口测试实例
此文章作为工作中用到的jmeter接口测试相关内容简述,方便日后查阅参考,如有理解描述有误之处,欢迎指出. 首先Jmeter环境准备网上有很多教程,在此不多做赘述: 1.接口简述 接口可理解为从客户端 ...
- 微信、qq二次分享
前言 我们平时做微信分享的时候,一般分享出来的页面都是一个简单的html页面,不会加入框架之类的东西.所以当我们在分享出来的页面里面再次进行分享的时候,由于我们没有配置分享的标题.描述这些东西,分享出 ...
- Vuex状态管理模式
Store:类似容器,包含应用的大部分状态,一个页面只能有一个store,状态存储是响应式的 State : 包含所有应用级别状态的对象 Getters : 在组件内部获取store中状态的函数 Mu ...
- java mvn:安装jar包
mvn install:install-file -Dfile=fastdfs-client-java-1.27-SNAPSHOT.jar(路径) -DgroupId=org.csource -Dar ...
- Windows Server 2008 R2 免费使用900天的方法
无需破解:Windows Server 2008 R2 免费使用900天的方法 1.安装后就有一个180天的试用期. 2.在180天试用期即将结束时,使用下面的评估序列号激活Server 2008 R ...
- oracle 12 c 创建表空间,用户名,及表
-----------------------------------------12C start------------------------------------------- -- 创 ...
- Codeforces Round #422 (Div. 2)E. Liar sa+st表+dp
题意:给你两个串s,p,问你把s分开顺序不变,能不能用最多k段合成p. 题解:dp[i][j]表示s到了前i项,用了j段的最多能合成p的前缀是哪里,那么转移就是两种,\(dp[i+1][j]=dp[i ...