领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

百度地图:Tab隐藏,同页面多次加载地图地图置中解决方案

nixiaole 2024-12-02 23:53:06 知识剖析 17 ℃

新建一个百度地图

var map = new BMap.Map(“divid”);

地图初始化需要调用以下方法(设置中心点(lng,lat),以缩放级别(scaledLevel));

map.centerAndZoom(new BMap.Point(lng,lat),scaledLevel);

对于只加载一个地图的页面,这样就OK了,不会产生如题描述的问题;那么问题来了,比如:我要编辑一个地方,用AJAX load的一个页面,里面有地图而且我完成操作只关闭弹出窗口并不刷新页面时,这时如何新建地图是各种问题。

解决方法:只有一条需要谨记,百度地图初始化之后就再不能被隐藏,如果隐藏之后再显示并且你想地图显示之后设置新的中心点,新的点地图永远不置中无论你调用map.setCenter(point) or panTo(point)方法; 那么方法来了,可以把地图挪到一个宽为0或者高为0的div节点中并设置overflow:hidden,地图仍然在显示但是用户并不可见,再显示地图置中就没有问题。

附加一点:如果使用map.getContainer()获取map HTMLElemet ,那么在下一次把它append到Dom中,应在之前完成初始化的动作!

最近发表
标签列表