Js_百度地图api的一个坑

调用百度地图api时候标记的marker发飘的解决办法

Js调用百度地图api的时候发现标记好的小红点并没有在地图中央显示

前提:已经用map.centerAndZoom(point,xx);设置好中心点

问题:页面加载出来并没有在显示小红点,相反,小红点飘到地图窗口的上边缘处,甚至看不到小红点了

问题图例:

发飘的中心点.PNG

解决:设置一个新点point_new,point_new的坐标比point更飘(如point在地图窗口中飘到上边缘以外[向北方向飘],
那么设置point_new的坐标为比point更北的一个坐标)并使用map.centerAndZoom(point_new,xx);设定这个新点为中心点,这样强行把页面‘扳’过来。

解决图例:

Js_百度地图api的一个坑_第1张图片

一个具体例子

var point = new BMap.Point(xxx.yyyyy,mm.nnnnn);//真正我想要的point
var point_new = new BMap.Point(xxx.y(y+1)yyy,mm.n(n+1)nnn);
//设置一个新点point_new,point_new的坐标比point更飘(如point在地图窗口中飘到上边缘以外[北方向飘],那么设置point_new的坐标为比point更北的一个坐标)
map.centerAndZoom(point_new, 15);//地图中心点偏移校正,以更飘的地点坐标作为中心点以获取真正显示中心点为point
var marker = new BMap.Marker(point);  // 创建标注
map.addOverlay(marker);//显示标注

visitor tracker
访客追踪插件


你可能感兴趣的:(学习笔记,JavaScript)