javascript - 在触摸设备上滚动的全屏谷歌地图

标签 javascript jquery google-maps mobile

我有一个带有谷歌地图的联系人页面。当用户向下滚动时, map 将在移动设备上全屏显示。

我希望允许用户仅通过单击+拖动而不是简单滚动来滚动 map ,以便用户可以滚动出 map 。

有什么想法吗?

最佳答案

我知道使用 Hammer Js 处理双击的两种方法。

是在 map 上添加叠加层并根据需要更改其z-index值。叠加层的好处是,如果需要,不需要额外的代码来禁用 map 上的任何交互,例如标记单击和控件。

是使用内置Gmaps .setOptions({draggable: true/false} 函数。

方法一演示 注意。调整 map 的 CSS 宽度、高度和位置

http://jsfiddle.net/gmqctmkd/

CSS

.overlay {
position:absolute;
height:300px;
width:100%;
background:transparent;
z-index:99;
top:0;
left:0;
}

代码

mc.on("doubbletap", function(ev) {

 $(".overlay").css("z-index", "1");

})

方法二演示使用.setOptions({draggable: true/false}

http://jsfiddle.net/oom5uevt/

代码

// set map Options to disable drag.

map.setOptions({draggable: false});

// enable drag 

mc.on("doubbletap", function(ev) {

map.setOptions({draggable: true});

})

关于javascript - 在触摸设备上滚动的全屏谷歌地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29659706/

相关文章:

javascript - 如何从包含多个 URL 的字符串中正确隔离和存储 Google 文件 ID?

javascript - jquery UI Tab 不随容器滚动

javascript - 我如何在 Javascript 灯箱中打开 iframe

javascript - 链接到新页面时,让 parent 和 child 保持开放

javascript - 谷歌地图,设置叠加空间

php - 在 PHP 中组合 KML 多边形

android - ionic 谷歌地图在 Android 设备中不工作,但在浏览器中工作正常

javascript - jquery ajax时

javascript - 创建新对象并使用 fs.writeFile() 写入文件

javascript - Foundation 4 和 backbone.js 的等高柱