如何只用两根手指在 google 个地图中移动?

How to move inside google maps only with two fingers?

我有一个移动用户的大问题:

我有一个 google 地图 width: 100% 所以当用户滚动 window 如果触摸屏幕 "inside" 地图,它会滚动仅适用于地图而不适用于所有 window...(昨天我父亲在地图内滚动了 3 分钟 XD)

滚动 window 可以触摸屏幕边框,但非常严格,并非所有用户都理解这一点。 我不想要 width 小于 100% 的地图,所以我必须找到其他解决方案...

这将使地图只有在用两根手指触摸时才可拖动,几乎在缩放时...

但是我可以使用哪个 google 映射事件?

也许:

    google.maps.event.addListener(map, 'dblclick', function(event){
      this.setOptions({draggable:true});
    });

但也许第一次点击地图时我应该提醒(在地图上有 div)可以用两根手指移动地图??

你怎么看?代码是否正确?

非常感谢,对不起我的英语和奇怪的问题:D

虽然这是一个很奇怪的要求,但您可以尝试以下操作;

document.addEventListener('touchmove', function(e) {
    e.preventDefault();
    var touch = e.touches[0];
    if(e.touches.length == 2){
      //This means there are two finger move gesture on screen
      googleMapsReference.setOptions({draggable:true});
    }
}, false);

我没有在移动设备上测试过这个,但它应该给你一个起点。

如果您使用的是 API v3.27 或更高版本。初始化地图时只需添加 属性 gestureHandling: 'Cooperative'

像这样

var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 4,
          center: myLatLng,
          gestureHandling: 'cooperative'
        });

More Info Here

或者,如果您想在创建地图后执行此操作,请执行

map.setOptions({gestureHandling: 'cooperative'});

More Info Here