新建一个百度地图
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中,应在之前完成初始化的动作!