微信坐标转换百度坐标(百度地图JavaScript API和百度web服务API)

一、介绍

本文介绍了微信坐标转换成百度坐标的2种方式及代码实例

  1. 百度地图JavaScript API
  2. 百度web服务API

二、注意

百度地图JavaScript API:只可以转换成百度坐标。百度坐标转换中文地址 

百度web服务API:转换成百度坐标,还可以返回中文地址

三、使用“百度地图JavaScript API”把微信坐标转成百度坐标

百度API官网地址:http://lbsyun.baidu.com/index.php?title=jspopular

步骤1:页面引用js

步骤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);
	}
});

浏览器控制台打印出结果,转换完成。

你可能感兴趣的:(应用程序接口API)