【问题标题】:Full screen google map scrolling on touch devices在触摸设备上全屏滚动谷歌地图
【发布时间】:2015-04-30 18:04:07
【问题描述】:

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

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

有什么想法吗?

【问题讨论】:

标签: javascript jquery google-maps mobile


【解决方案1】:

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

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

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

方法一演示注意。调整地图的 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});

})

【讨论】:

  • 我实际上正在寻找一种解决方案,允许用户仅通过双击+拖动来平移地图。
  • 在地图上双击,在第二次点击时将手指留在屏幕上并移动以移动地图。
  • @sniurs 所以不要点击按钮,而是双击地图。好的,那么我建议使用 Hammers Js 插件来处理双击 -- 演示 -- jsfiddle.net/gmqctmkd
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-27
  • 2015-07-23
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 2018-06-23
相关资源
最近更新 更多