【百度地图API】批量地址解析与批量反地址解析(带商圈数据)

原文:【百度地图API】批量地址解析与批量反地址解析(带商圈数据)

摘要:因为地址解析的webserives方式还没有开通,所以先用JS版本的地址解析接口来批量获取地址解析数据吧,同时还能得到商圈的数据呀~~

----------------------------------------------------------------------------------------------------------------------------------

API和SDK都可以不展示地图,直接获取数据。

所以,建议大家都不要用webserives方式啦,因为webserives方式一般都有很高的限制。

用到了地址解析和反地址解析的接口。

类参考:http://dev.baidu.com/wiki/map/index.php?title=Class:%E6%9C%8D%E5%8A%A1%E7%B1%BB/Geocoder

下面分别是地址解析和反地址解析的demo图,还有全部源代码。

全部源代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>批量反地址解析+商圈</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
</head>
<body>
<input type="button" value="批量反地址解析+商圈" onclick="bdGEO()" />
<div id="result"></div>
</body>
</html>
<script type="text/javascript">
var index = 0;
var myGeo = new BMap.Geocoder();
var adds = [
new BMap.Point(116.354682,39.95134),
new BMap.Point(116.445806,39.933859),
new BMap.Point(116.421373,39.952888),
new BMap.Point(116.383428,39.884491)
];

function bdGEO(){
    var pt = adds[index];
    geocodeSearch(pt);
    index++;
}
function geocodeSearch(pt){
    if(index < adds.length){
        setTimeout(window.bdGEO,300);
    }
    myGeo.getLocation(pt, function(rs){
        var addComp = rs.addressComponents;
        document.getElementById("result").innerHTML += adds[index-1].lng + "," + adds[index-1].lat + ":"  + "商圈(" + rs.business + ")  结构化数据(" + addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber + ")</br>";
    });
}
</script>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>批量地址解析</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
</head>
<body>
<input type="button" value="批量地址解析" onclick="bdGEO()" />
<div id="result"></div>
</body>
</html>
<script type="text/javascript">
var index = 0;
var myGeo = new BMap.Geocoder();
var adds = [
"百度大厦",
"奎科大厦",
"中央民族大学",
"北京市海淀区中关村大街"
];

function bdGEO(){
    var a = adds[index];
    geocodeSearch(a);
    index++;
}
function geocodeSearch(a){
    if(index < adds.length){
        setTimeout(window.bdGEO,300);
    }
    myGeo.getPoint(a, function(point){
      if (point) {
        myGeo.getLocation(point, function(rs){
                var addComp = rs.addressComponents;
                document.getElementById("result").innerHTML += adds[index-1] + ":"  + "商圈(" + rs.business + ")" + addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber + "</br>";
            });
      }
    }, "全国");
}
</script>
时间: 2024-10-11 00:15:02

【百度地图API】批量地址解析与批量反地址解析(带商圈数据)的相关文章

调用百度地图API实现手机自动定位 (逆地址解析)

//声明地址解析器 var geoc = new BMap.Geocoder(); //自动定位 var autoLocation = function () { if (navigator.geolocation) { //判断浏览器是否能获取当前位置 navigator.geolocation.getCurrentPosition(AddrSuc, AddrFail); } else { simpleNoty("无法自动定位,请输入您的用餐地址"); } } //获取当前坐标成功

百度地图API实现批量地址解析

1.前言 写这篇文章的原因是最近做一个GIS项目在网上爬取了一些数据,无奈只有地址的文字信息没有坐标信息,如何把信息显现在地图上呢?很纠结啊,查看了一下百度地图API惊奇的发现百度提供了地址解析的API,然后查看了他的Demo后豁然开朗,所以动手将自己的文字信息数据进行解析坐标信息.下面开始讲解. 2.方案 (1)自己数据库中的数据 (2)百度地图API Demo <!DOCTYPE html> <html> <head> <meta http-equiv=&qu

【百度地图API】如何进行地址解析与反地址解析?——模糊地址能搜索到精确地理信息!

原文:[百度地图API]如何进行地址解析与反地址解析?--模糊地址能搜索到精确地理信息! 摘要: 什么是地址解析? 什么是反地址解析? 如何运用地址解析,和反地址解析? 可以同时运用地址解析,和反地址解析麼?答案是,可以的.详见最后一个示例与代码. --------------------------------------------------------------------------------- 一.地址解析 地址解析,是用户输入一个详细到门牌号的地址.例如“北京市中关村南大街27

从百度地图API接口批量获取地点的经纬度

今天我同事要做一个规划,需要获取Excel中的2000多个地址的经纬度.问我有没有办法,正好我这段时间学习 Python,想了一下,觉得可以.于是就写了一个以下的代码.刚开始觉得差不多两个小时可以搞定,结果花费了半天多,汗...主要是在卡从百度地图 API获取的是坐标总是不对.后来网上查资料才明白,原来从百度API获取的是墨卡托坐标,而实际使用的是WGS84坐标. 1 #!/usr/bin/python 2 #coding:utf-8 3 4 import xlrd 5 import xlwt

百度地图坐标转换服务封装(优化批量并发异步访问)

本人接触网页地图以来已有5年之窗,与百度地图打交道少说也有3年以上了,百度坐标转换从最开始的只支持单组坐标转换到现在的批量转换(限制每次100组),而且是无规律的算法纠偏,根本不好复制这种算法到本地进行转换,每次只能乖乖的ajax get到百度服务接口返回结果. 这种做法对于单组坐标的转换体验上影响不大,但是当我们需要纠偏的坐标量很多的时候,按正常的写法ajax异步请求,而且每次最多只能传入100组坐标,只能分批来调,而且是异步处理,还要定义一堆全局变量记住状态值,代码量多且复杂,项目大就难以管

【百度地图API】当地址解析失败时,如何调用search方法查找地址

原文:[百度地图API]当地址解析失败时,如何调用search方法查找地址 有个朋友问我,当地址解析失败时,应该如何处理呢?比如,他想搜索“南宁市青秀区”. ----------------------------------------------------------------------------- 首先,我们需要弄明白,地址解析的原理: 使用Geocoder进行地址解析,比如“北京市海淀区上地10街”,当系统匹配到这个地址时,getPoint就会返回一个坐标点.这里需要用到回调函数

百度地图API和高德地图API资料集锦

[高德地图API]从零开始学高德JS API(五)路线规划--驾车|公交|步行 [高德地图API]从零开始学高德JS API(四)搜索服务--POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索 [高德地图API]从零开始学高德JS API(三)覆盖物--标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物 [高德地图API]从零开始学高德JS API(二)地图控件与插件--测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 [高德地图API]从零开始学高德JS API

Android应用中使用百度地图API定位自己的位置(二)

官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发者们提供了如下类型的地图覆盖物: 我的位置图层(MyLocationOverlay):用于显示用户当前位置的图层(支持自定义位置图标): Poi搜索结果图层(PoiOverlay):用于显示兴趣点搜索结果的图层: 路线图层(RouteOverlay):公交.步行和驾车线路图层,将公交.步行和驾车出行方案的路线及关键点显示在地图上(起.终

Android应用中使用百度地图API并加入标注(一)

网上一些资料这样的的内容已经过时了,这里是最新的内容,假设哪里不正确,请吐槽... 1)下载百度地图移动版API(Android)开发包      要在Android应用中使用百度地图API,就须要在project中引用百度地图API开发包,这个开发包包括两个文件: 下载地址:http://pan.baidu.com/s/1i31enrB 2)申请API Key //包名 格式:比如:B7:6C:CF:E2:47:50:9B:3E:34:F7:08:72:F3:AC:F1:BE:55:D3:77