摘要:由於地址解析的webserives方式尚未開通,因此先用JS版本的地址解析接口來批量獲取地址解析數據吧,同時還能獲得商圈的數據呀~~javascript
----------------------------------------------------------------------------------------------------------------------------------php
API和SDK均可以不展現地圖,直接獲取數據。html
因此,建議你們都不要用webserives方式啦,由於webserives方式通常都有很高的限制。java
用到了地址解析和反地址解析的接口。web
類參考:http://dev.baidu.com/wiki/map/index.php?title=Class:%E6%9C%8D%E5%8A%A1%E7%B1%BB/Geocoderapi
下面分別是地址解析和反地址解析的demo圖,還有所有源代碼。ide
所有源代碼:ui
<!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>