在我的谷歌地圖應用程序中,我有一個遵循移動標記的跟隨方法。當它跟隨時,我想允許縮放所有常用方法(dblclick,dblleftclick,mousewheel和touch事件),並且我想禁用任何類型的平移。問題是,在使用鼠標滾輪和dblclick進行縮放時,地圖會被移動到鼠標位置。我可以禁用一切正常,但我想允許縮放。我已經通過使用jquery mousewheel插件並使用delta來更改縮放來解決mousewheel問題。谷歌地圖禁止所有事件的用戶平移
有沒有一些簡單的方法來做到這一點,或者我必須爲所有不同的觸摸和鼠標事件編寫監聽器?
編輯
我已經禁用雙擊,鼠標滾輪縮放和拖動,但我希望有雙擊的功能仍然存在。我也希望觸摸事件發生在那裏,但我希望讓他們從中心縮放而不是事件發生的位置。真正的問題是複製其谷歌已經處理,但改變功能有點
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'事件設置事件偵聽器(通過使用'中心地產)。 _should_禁用平移。 – andresf
這並不能解決我的問題,只需雙擊鼠標就可以重寫事件。我真正的問題是觸摸事件像捏縮放。 – georgephillips
您可能想要反映您在帖子中爲移動設備構建的事實。 – andresf