百度座標轉換API使用
http://api.map.baidu.com/geoconv/v1/?coords=121.54759,29.870724&from=1&to=5&ak=sGSOaO07WkRHHiCRxxbSQVBn
前提:121.54759,29.870724 是由手機硬體或谷歌地圖獲取的
錯誤的方法一:
function standard2china(lng,lat){
//http://api.map.baidu.com/geoconv/v1/?coords=121.54759,29.870724&from=1&to=5&ak=sGSOaO07WkRHHiCRxxbSQVBn
var apiurl="http://api.map.baidu.com/geoconv/v1/?coords="+lng+","+lat+"&from=1&to=5&ak=sGSOaO07WkRHHiCRxxbSQVBn";
$.ajax({
url:apiurl,
type:'get',
success:function(data){
console.log(data);
}
});
}
會提示錯誤:No 'Access-Control-Allow-Origin' header is present on the requested resource.
這是跨域問題,見:http://blog.csdn.net/zengmingen/article/details/51321758
錯誤方法二:
知道了跨域問題,解決要用dataType:'jsonp'
function standard2china(lng,lat){
//http://api.map.baidu.com/geoconv/v1/?coords=121.54759,29.870724&from=1&to=5&ak=sGSOaO07WkRHHiCRxxbSQVBn
var apiurl="http://api.map.baidu.com/geoconv/v1/?coords="+lng+","+lat+"&from=1&to=5&ak=sGSOaO07WkRHHiCRxxbSQVBn";
$.ajax({
url:apiurl,
type:'get',
dataType:'jsonp',
success:function(data){
console.log(data);
}
});
}
不提示報錯,但是返回結果是百度的js檔案內容:
正確方法:
百度demo:http://developer.baidu.com/map/jsdemo.htm#a5_2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=sGSOaO07WkRHHiCRxxbSQVBn"></script>
<script type="text/javascript">
abc();
function abc(){
var x = 121.5473;
var y = 29.87061;
var ggPoint = new BMap.Point(x,y);
var convertor = new BMap.Convertor();
//座標轉換完之後的回撥函式
translateCallback = function (data){
if(data.status === 0) {
for (var i = 0; i < data.points.length; i++) {
var newPoint=data.points[i];
console.log(newPoint.lng);
console.log(newPoint.lat);
}
}
}
setTimeout(function(){
var convertor = new BMap.Convertor();
var pointArr = [];
pointArr.push(ggPoint);
convertor.translate(pointArr, 1, 5, translateCallback);
}, 1000);
}
</script>
</head>
<body>
</body>
</html>
相關文章
- iOS地球座標、火星座標和百度座標之間轉換(Swift3.0)iOSSwift
- gcoord: 轉換WGS84、GCJ02、BD09座標,轉換百度高德地圖座標系GC地圖
- ogre世界座標魚螢幕座標相互轉換
- Qt - 座標系及轉換QT
- 利用齊次座標進行二維座標轉換
- 【高德地圖API】從零開始學高德JS API(六)——座標轉換地圖APIJS
- GPS座標轉換為BIM
- ROS TF :使用 TF 設定機器人 釋出座標變換 使用座標變換 將感測器資料轉換為機器人座標系下ROS機器人
- Excel轉百度座標系(AngularJS)ExcelAngularJS
- 火星座標和正常座標之間的轉換
- 地心地固座標系(ECEF)與站心座標系(ENU)的轉換
- 海康相機 畫素座標(px,py)到sdk ptz 座標轉換最後到onvif ptz座標
- pose座標變換
- ArcEngine下投影座標和經緯度座標的相互轉換
- iOS開發中常見定位座標轉換iOS
- Qt/C++地址轉座標/座標轉地址/逆地址解析/支援百度高德騰訊和天地圖QTC++地圖
- GIS中的座標系定義與轉換 (轉)
- iOS中地圖經緯度座標轉換iOS地圖
- Python pytorch 座標系變換與維度轉換PythonPyTorch
- vue 實現高德座標轉GPS座標Vue
- 座標系定義和相互轉換演算法演算法
- MathNet Ray3D座標系下轉換3D
- ArcGIS地圖投影與座標系轉換的方法地圖
- 工程座標轉換方法C#程式碼實現C#
- Go版本的各座標系互相轉換的工具Go
- OpenGL ES on iOS --- 座標系統與矩陣轉換iOS矩陣
- 理解SVG transform座標變換SVGORM
- 百度地圖API開發的快速使用和新增大量座標點的幾種方法地圖API
- 各種座標系互相轉換(WGS84轉換BD-09主要)
- 三維空間座標系變換-旋轉矩陣矩陣
- C++ opencv的圓轉矩形,極座標轉笛卡爾座標系C++OpenCV
- 百度地圖框選標註座標點功能地圖
- 百度地圖之標註一組地理座標地圖
- 使用swc rust api轉換javascriptRustAPIJavaScript
- 【GIS工具】百度poi載入工具之玩轉座標系統!
- OpenGL中的座標變換、矩陣變換矩陣
- WGS84、BD09、GCJ02座標轉換GC
- 使用AxisHelper幫助理解View and Data API中的座標系統ViewAPI