百度地图api js中心点显示异常
在使用百度地图api js开发的过程中遇见这样一个问题:使用map.centerAndZoom(point,14)函数时会发现地图显示的中心点位置与坐标不同,如果下面同样设置了new BMap.Marker(point);的话会发现marker的位置与坐标位置不一致。仔细观察会发现point的真实位置应该是在地图的左上角。如下图所示:实际上造成这种问题的原因在与放置地图的容器设置了di...
·
在使用百度地图api js开发的过程中遇见这样一个问题:
使用map.centerAndZoom(point,14)函数时会发现地图显示的中心点位置与坐标不同,如果下面同样设置了new BMap.Marker(point);的话会发现marker的位置与坐标位置不一致。仔细观察会发现point的真实位置应该是在地图的左上角。如下图所示:
实际上造成这种问题的原因在与放置地图的容器设置了display:none;属性,这样会导致地图容器宽高为0,在宽高为0的容器上,中心点自然也是0了,即容器的左上角。
因此只能在可视的情况下创建地图。
解决办法:
一:设置定时器
setTimeout(function(){
map.setCenter(point);
}, 200);
个人觉得这种办法有些笨,有些土,可能是作者君的强迫症在作怪。
二:不使用display,或者display后再创建地图:
$("div")show(function(){
map.setCenter(point);
});
更多推荐
已为社区贡献1条内容
所有评论(0)