·您当前的位置:首页 > 技术教程 > JavaScript >

[百度地图]百度地图 坐标转换、批量坐标转换示例(JavaScript API

时间:2017-05-15 10:26百度地图
[百度地图]百度地图 坐标转换、批量坐标转换示例(JavaScript API示例)

[百度地图]百度地图 坐标转换、批量坐标转换示例(JavaScript API示例)

目前国内主要有以下三种坐标系:
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。

GCJ02:又称火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。

BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。


非中国地区地图,服务坐标统一使用WGS84坐标。


其他坐标转百度坐标

百度对外接口的坐标系为BD09坐标系,并不是GPS采集的真实经纬度,在使用百度地图JavaScript API服务前,需先将非百度坐标通过坐标转换接口转换成百度坐标。 坐标转换、批量坐标转换示例详见JavaScript API示例

注意:请勿使用其他非官方转换方法!!!

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5.     <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
  6.     <style type="text/css"> 
  7.         body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";} 
  8.     </style> 
  9.     <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> 
  10.     <title>GPS转百度</title> 
  11. </head> 
  12. <body> 
  13.     <div id="allmap"></div> 
  14. </body> 
  15. </html> 
  16. <script type="text/javascript"> 
  17.     // 百度地图API功能 
  18.     //GPS坐标 
  19.     var x = 116.32715863448607; 
  20.     var y = 39.990912172420714; 
  21.     var ggPoint = new BMap.Point(x,y); 
  22.  
  23.     //地图初始化 
  24.     var bm = new BMap.Map("allmap"); 
  25.     bm.centerAndZoom(ggPoint, 15); 
  26.     bm.addControl(new BMap.NavigationControl()); 
  27.  
  28.     //添加gps marker和label 
  29.     var markergg = new BMap.Marker(ggPoint); 
  30.     bm.addOverlay(markergg); //添加GPS marker 
  31.     var labelgg = new BMap.Label("未转换的GPS坐标(错误)",{offset:new BMap.Size(20,-10)}); 
  32.     markergg.setLabel(labelgg); //添加GPS label 
  33.  
  34.     //坐标转换完之后的回调函数 
  35.     translateCallback = function (data){ 
  36.       if(data.status === 0) { 
  37.         var marker = new BMap.Marker(data.points[0]); 
  38.         bm.addOverlay(marker); 
  39.         var label = new BMap.Label("转换后的百度坐标(正确)",{offset:new BMap.Size(20,-10)}); 
  40.         marker.setLabel(label); //添加百度label 
  41.         bm.setCenter(data.points[0]); 
  42.       } 
  43.     } 
  44.  
  45.     setTimeout(function(){ 
  46.         var convertor = new BMap.Convertor(); 
  47.         var pointArr = []; 
  48.         pointArr.push(ggPoint); 
  49.         convertor.translate(pointArr, 1, 5, translateCallback) 
  50.     }, 1000); 
  51. </script> 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器