Google Maps JS API - GestureHandling:“贪婪”在 iOS 9 上无法正常工作

问题描述 投票:0回答:1

我正在编写一个移动应用程序,它在我的应用程序内部的 webView 中显示 Google 地图。就在几个月前,在运行 iOS 9.3.5 的测试 iPad 上,一切都完全按照预期运行。地图加载得很好,我可以用一根手指在地图上平移。突然,它停止工作了。现在我只能用两根手指平移。我注意到这种情况发生在两台运行 iOS 9.3.5 的不同 iPad 上,并且在 Safari 中使用 Google 地图。如果您在 safari 中调出maps.google.com 上的地图,除非您使用两根手指,否则您将无法再在浏览器中平移。我尝试在初始化地图时添加gestureHandling: 'greedy',但这对性能没有影响。另外,点击“+”和“-”按钮放大和缩小也没有效果。在我的应用程序中,这可能会让我的用户感到困惑,因为他们必须根据您使用的设备来不同地使用地图。如果我能够找到某种方法在 iOS 9.3.5 中使用单指平移 Google 地图,我会非常高兴。任何帮助将不胜感激。这是我的代码,可帮助我们开始:

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0">
    <meta charset="utf-8">
    <style>
      #map {
        height: 100%;
      }
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>
		
      var map;

      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
            center: {lat: 39.769145, lng: -86.158176},
            zoom: 14,
            gestureHandling: 'greedy'
        });        	
      }
		
    </script>
    <script async defer
        src="https://maps.googleapis.com/maps/api/js?v=3.34&key=[MY KEY]&callback=initMap">
    </script>
  </body>
</html>

javascript ios google-maps google-maps-api-3 maps
1个回答
0
投票
map = new google.maps.Map(document.getElementById('map'), {
            center: {lat: 39.769145, lng: -86.158176},
            zoom: 14,
            gestureHandling: 'greedy'
        });

当您创建上面所示的地图对象时,道具“center”和“zoom”是受控道具,不允许动态更改地图视图。

尝试将“center”更改为“defaultCenter”,将“zoom”更改为“defaultZoom”。

© www.soinside.com 2019 - 2024. All rights reserved.