百度地图API详解之地图容器(2)
发布时间:2018-10-06 06:00 所属栏目:30 来源:站长网
导读:这时我们修改浏览器窗口大小,地图会自动铺图并且地图相对于左边和上边的距离保持不变,一切效果OK。下面我们添加编写一个全屏函数: function toFullScreen() { document.getElementById('top').style.display = '
这时我们修改浏览器窗口大小,地图会自动铺图并且地图相对于左边和上边的距离保持不变,一切效果OK。下面我们添加编写一个全屏函数: function toFullScreen() { 这个函数将两个区域进行隐藏,同时调整地图容器,我们在控制台调用这个方法,会得到这个结果: 和之前的图对比可以发现地图区域向左上方移动了,这样会给用户地图“跳动”的感觉,为了让地图与用户眼睛的位置保持一致,我们需要修改toFullScreen函数: function toFullScreen() { 这里大致的思路是,首先停止地图自动适应容器变化,接着通过坐标转换得到当前中心点对应的像素坐标curPix,再计算出全屏后中心点的像素坐标newPix,进而转换为经纬度newCenter。下面调用修改容器尺寸并调用checkResize通知地图容器发生变化,接着再重新设置中心点并恢复自动适应容器变化。效果如下: 此时,全屏过程中地图没有任何的“跳动”,从而提供了较好的用户体验。谷歌地图也使用了类似的效果,当左侧面板收起时,地图区域自动向左侧扩展,而没有向左侧跳动。 最后说明一下,上面的checkResize方法没有考虑全屏幕的情况,因为它不是本文的重点,就不再这里给出具体代码了。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读