对于百度地图的逆地址解析,首先必须声明
var geoc = new BMap.Geocoder();
然后将坐标点转换为百度坐标点
var point = new BMap.Point(lng, lat);
然后调用下面的方法
geoc.getLocation(point, function (rs) {
var addComp = rs.addressComponents;
$("#getAddress").val(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
});
如下是一个小例子,输入经纬度,直接转换为地址信息。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";font-size:14px;}
#allmap {width:100%;height:500px;}
</style>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=bsdvu2IoX7vBXcaCijycBIl1"></script>
<title>逆地址解析</title>
</head>
<body>
<input type="text" name="lng" id="lng" placeholder="经度"><br /><br />
<input type="text" name="lat" id="lat" placeholder="纬度"><br /><br />
<button id="btn">转换</button><br /><br />
<input type="text" name="addres" id="addres" placeholder="转换后的经纬度">
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var geoc = new BMap.Geocoder();
$("#btn").on("click", function(){
var lng = $("#lng").val();
var lat = $("#lat").val();
var point = new BMap.Point(lng, lat);
geoc.getLocation(point, function (rs) {
var addComp = rs.addressComponents;
$("#addres").val(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
});
});
</script>