在我的谷歌地图应用程序中,我有一个跟随方法,可以跟随移动标记。当它正在跟随时,我希望允许通过所有常规方法进行缩放(双击、双左击、鼠标滚轮和触摸事件),并且禁用任何形式的平移。问题是,在使用鼠标滚轮和双击缩放时,地图会平移到鼠标的位置。我可以很好地禁用所有内容,但我想允许缩放。我已经使用jquery鼠标滚轮插件解决了鼠标滚轮问题,并使用delta改变缩放比例。
有没有什么简单的方法来做到这一点,或者我必须为所有不同的触摸和鼠标事件编写监听器?
编辑:
我已经禁用了双击、鼠标滚轮缩放和拖动,但我希望仍然保留双击功能。我也想要触摸事件,但我希望它们从中心缩放而不是从事件发生的位置缩放。真正的问题是复制谷歌已经处理的事件,但将功能稍微更改。
var options = {
disableDoubleClickZoom: true,
draggable: false,
scrollwheel: false,
panControl: false
};
this.map = new google.maps.Map(document.getElementById('map'), options);
我的理想解决方案是如果有disableDoubleClickPan
和disableScrollwheelPan
或者draggable
选项实际上可以防止任何类型的拖动。
编辑
这适用于所有设备,包括桌面和移动设备。
disableDoubleClickZoom
选项禁用“正常”缩放,然后为地图设置一个dblclick
事件监听器,以使用现有地图中心(通过使用center
属性捕获)进行缩放。这应该会禁用平移。 - andresf