我正在尝试创建一个类似于maps.google.com左侧当前使用的幻灯片面板 我正在尝试与此面板一起复制的行为(如谷歌地图上所示)
我最初认为我可以在地图上绝对定位一个div,但这覆盖了地图控件,例如(缩放,缩放等)并将它们定位在别处不是一种选择。
我的其他两次尝试几乎都在那里,但不幸的是并不完全。请注意,为了演示目的,代码示例很快被拼凑在一起。
第一次尝试:
两个div,一个是滑动面板,另一个是地图内容,都向左浮动。白色面板上的“关闭”/“打开”按钮有一个单击处理程序,可以动画滑动面板边距的变化来隐藏它。 map div的宽度平行扩展以填充空白区域。这里的问题是在展开面板时整个地图向右移动(点击jsfiddle示例中的'打开'/'关闭') 将面板定位到屏幕的右侧可解决此问题(添加了溢出:隐藏在html元素上)虽然这不符合我的设计要求。
另请注意,使用谷歌地图panby(x,y)功能来修复像素跳跃是非常笨重的,所以不是真正的选择
第二次尝试:
因此我想要以编程方式添加自定义Google地图控件(控件是相关的滑动面板),并使用定位选项让其他控件很好地适应我的幻灯片面板。最初认为它有效,直到我意识到其他控件在隐藏滑动面板后不会重新定位自己。移动地图更新了本机控件的位置(缩放等),但这不可行。
任何想法? 感谢
答案 0 :(得分:3)
好的,我想我已经弄明白了。
一个非常基本的例子 - http://jsfiddle.net/H87q7/3/
我已经离开了自定义地图控制路线,并使用了Jquery动画功能的“步骤”回调来触发谷歌地图“调整大小”事件。这会在动画的每一步重新定位地图上的控件,看起来非常流畅。
不确定它有多优雅,因为我宁愿不使用自定义谷歌控件,因为我有很多html元素在面板中连线并以编程方式添加它们不是我想要的做,但无论如何......
我很想听听关于这样做的其他方法的意见。 感谢