百度地图批量地址解析(地址转化经纬度)

百度地图地址批量解析(地址转化经纬度)

以下是js脚本实现地址批量解析

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
	<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
	<title>批量地址</title>
	<style type="text/css">
		body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
		#l-map{height:300px;width:100%;}
		#r-result{width:100%; font-size:14px;line-height:20px;}
	</style>
</head>
<body>
	<div id="l-map"></div>
	<div id="r-result">
		<input type="button" value="批量地址解析" onclick="bdGEO()" />
		<div id="result"></div>
	</div>
</body>
</html>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的百度地图密钥"></script>

<script type="text/javascript">
	// 百度地图API功能
	var map = new BMap.Map("l-map");
	map.centerAndZoom(new BMap.Point(116.402831,39.914271), 13);
	map.enableScrollWheelZoom(true);
	var index = 0;
	var myGeo = new BMap.Geocoder();
	var adds = ["1,北京市海淀区上地",
				"2,北京市海淀区西二旗",
				"3,北京市海淀区五道口",
				"4,北京市海淀区回龙观",
				"5,北京市海淀区龙泽",
				"6,北京市海淀区知春路",
				"7,北京市朝阳区豆各庄"];
	function bdGEO(){
		var add = adds[index];
		geocodeSearch(add);
		index++;
	}
	function geocodeSearch(add){
		if(index < adds.length){
			setTimeout(window.bdGEO,100);
		} 
		myGeo.getPoint(add, function(point){
			if (point) {
				//document.getElementById("result").innerHTML +=  index + "、" + add + ":" + point.lng + "," + point.lat + "
";
document.getElementById("result").innerHTML += "longitude = " + point.lng + ", latitude =" + point.lat + "
"
; var address = new BMap.Point(point.lng, point.lat); addMarker(address,new BMap.Label(index+":"+add,{offset:new BMap.Size(20,-10)})); } }, "北京市"); } // 编写自定义函数,创建标注 function addMarker(point,label){ var marker = new BMap.Marker(point); map.addOverlay(marker); marker.setLabel(label); } </script>

效果图:
百度地图批量地址解析(地址转化经纬度)_第1张图片
点击批量解析按钮出现以下效果:
百度地图批量地址解析(地址转化经纬度)_第2张图片
最终实现的是可以根据地址进行批量转化为经纬度。
希望对你们有所帮助☺
不要忘记申请你的百度地图key呦!!!

你可能感兴趣的:(js)