版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cl11992/article/details/86003967
一、介绍
本文介绍了微信坐标转换成百度坐标的2种方式及代码实例
- 百度地图JavaScript API
- 百度web服务API
二、注意
百度地图JavaScript API:只可以转换成百度坐标。百度坐标转换中文地址
百度web服务API:转换成百度坐标,还可以返回中文地址
三、使用“百度地图JavaScript API”把微信坐标转成百度坐标
百度API官网地址:http://lbsyun.baidu.com/index.php?title=jspopular
步骤1:页面引用js
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的浏览器秘钥"></script>
步骤2:js中进行转换
// 微信坐标转换成百度坐标
var longitude = "116.40718"; // 微信经度
var latitude = "39.978207"; // 微信纬度
var lng = ''; //百度经度
var lat = ''; //百度纬度
var convertor = new BMap.Convertor();
var ggPoint = new BMap.Point(longitude, latitude);
var pointArr = [];
pointArr.push(ggPoint);
convertor.translate(pointArr, 1, 5, function (data){
console.log("百度data"+data);
if(data.status === 0) {
lng = data.points[0].lng;
lat = data.points[0].lat;
console.log("百度经度:"+lng);
console.log("百度纬度:"+lat);
}
});
浏览器控制台打印出结果,转换完成。
四、使用“百度web服务API”把为微信坐标转成百度坐标
百度API官网地址:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad
步骤1:js中进行转换
由于我的微信是使用的“wgs84”坐标系,所以我在url拼接了coordtype参数
// 微信坐标转换成百度坐标
var longitude = "116.40718"; // 微信经度
var latitude = "39.978207"; // 微信纬度
var url = "http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location="+latitude+","+longitude+"&output=json&pois=0&ak=你的服务端秘钥ak&coordtype=wgs84ll";
jQuery.ajax({
url: url,
type: "GET",
dataType: "jsonp", //指定服务器返回的数据类型
success: function (data) {
if(data.status!='0'){
alert('解析地理位置错误');
}
//经度
var lng = data.result.location.lng;
//纬度
var lat = data.result.location.lat;
//地址参数
var ad = data.result.addressComponent;
var fullAddress;
if(ad.streetNumber == '' || ad.streetNumber == null){
console.log(ad);
//无街道门牌号码,显示社区信息
fullAddress= ad.province + ad.city + ad.district + ad.town + ad.street;
}else{
fullAddress= formatted_address;
}
console.log("百度经度:"+lng);
console.log("百度纬度:"+lat);
console.log("百度地址:"+fullAddress);
}
});
浏览器控制台打印出结果,转换完成。