百度地图与谷歌地图 (常识、区别,更倾向于使用百度地图,纠错信息比谷歌多)

一、

获取当前地理位置信息的方法 在HTML5之前 HTML5
  根据IP地址来获取当前的地理位置信息 浏览器通过geolocation的API接口来获取当前的地理位置信息,(经纬度)  
方法为   navigator.geolocation.getCurrentPosition(){}这个方法来获取  

由于许多地图采用的坐标系都是不一样的,使用不同的地图接口得到同一个地点的经纬度会有一定的偏差,百度地图和谷歌地图的纠偏能力如下表:

什么是纠偏能力?

在百度地图显示的经纬度和实际的经纬度是存在一定的差距的,百度地图上的经纬度会通过一个纠偏数据库,把地图上的经纬度尽量跟实际的经纬度接近。就是去纠正这种偏差。

  百度地图 谷歌地图  
区别 百度地图纠偏信息包含中国海域一共29,699,997条纠偏数据 谷歌地图只包含中国陆地一共12,597,551条纠偏数据  
       
       

使用geolocation的API获取的经纬度是谷歌地图上的经纬度,为了有更多的纠偏信息,我们可以将获取的经纬度转化成百度地图上的经纬度。

转化方法:

通过百度地图API中提供的一个坐标转化js文件,,进行转化即可。

<script src="http://api.map.baidu.com/api?v=1.3" type="text/javascript">//将百度API引入到页面

<script type="text/javascript" src="convertor.js">

 

// 将google地图中的经纬度转化为百度地图的经纬度
BMap.Convertor.translate(ggPoint, 2, function(point){ //百度官方发布的接口
var marker = new BMap.Marker(point); //创建地图实例

map.addOverlay(marker);           //创建点坐标
map.centerAndZoom(point, 50);          //初始化地图,设置中心点坐标和地图级别(数字越大,级别越小)
map.enableScrollWheelZoom();           // 启动鼠标滚轮操作
map.enableKeyboard();                  //开启键盘操作的接口(键盘控制默认也是不开启,开启后按键+和-分别让地图放大或缩小一级,PgUp、PgDn、Home、End键则会让地图向下、上、右、左四个方向移动一段距离。↑、↓、←、→四个健可以使地图在四个方向上移动,)
map.enableContinuousZoom();           // 开启连续缩放效果
ssmap.enableInertialDragging();      // 开启惯性拖拽效果
});
}

 

 

 

 

 

 

 

 

posted @ 2013-11-17 19:33  进击的totoro  阅读(2499)  评论(0编辑  收藏  举报