Google Maps JS Api,使用带有移动渲染功能的chrome或Android设备,尝试平移地图会导致缩放到最大缩放比例。
我尝试使用“ gestureHandling”的选项(贪婪,合作,无,自动)无法解决问题。 我确实在Chrome开发工具中注意到,地图div上的mousedown和touchstart事件都附加了事件处理程序。 删除mousedown事件可解决问题,但不确定如何以编程方式应用该问题。
这是AngularJs控制器中用于地图的代码。
vm.map;
angular.element(document).ready(function () {
var map = document.getElementById('map');
vm.map = new google.maps.Map(
map,
{
zoom: 11,
minZoom: 5,
maxZoom: 16,
center: vm.location,
fullscreenControl: false,
streetViewControl: false,
mapTypeControl: false,
zoomControl: false,
gestureHandling: 'greedy',
scrollWheel: false
}
);
});
这是HTML
<div layout="column" layout-fill layout-align="start center" ng-controller="locationsCtrl as vm">
<div style="width: 100%;">
<div layout="column" layout-align="center center" style="position: relative;">
<div id="map" style="width:100%; height:520px;" ></div>
</div>
</div>
</div>
在加载控制器之前,将Google maps脚本加载到index.html中。
<script src="https://maps.googleapis.com/maps/api/js?v=weekly&key=MY_KEY"></script>
我希望平移/缩放可以用单指进行平移,缩放或双击,但是用单指或鼠标进行平移可以缩放到maxZoom值。
更新: 为dragStart,drag和dragEnd添加了事件侦听器,以显示dragEnd不在mouseUp上触发。
答案 0 :(得分:0)