一、
由于许多地图采用的坐标系都是不一样的,使用不同的地图接口得到同一个地点的经纬度会有一定的偏差,百度地图和谷歌地图的纠偏能力如下表:
什么是纠偏能力?
在百度地图显示的经纬度和实际的经纬度是存在一定的差距的,百度地图上的经纬度会通过一个纠偏数据库,把地图上的经纬度尽量跟实际的经纬度接近。就是去纠正这种偏差。
使用geolocation的API获取的经纬度是谷歌地图上的经纬度,为了有更多的纠偏信息,我们可以将获取的经纬度转化成百度地图上的经纬度。
转化方法:
通过百度地图API中提供的一个坐标转化js文件,,进行转化即可。<script src="http://api./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();// 开启惯性拖拽效果});}