1. 程式人生 > >微信座標轉換百度座標(百度地圖JavaScript API和百度web服務API)

微信座標轉換百度座標(百度地圖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

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

瀏覽器控制檯打印出結果,轉換完成。