maplair
Version:
JavaScript library for mobile-friendly interactive maps
27 lines (26 loc) • 980 B
JavaScript
import { Handler } from "../../core/Handler.js";
//#region src/map/handler/DoubleClickZoomHandler.js
var DoubleClickZoomHandler = class DoubleClickZoomHandler extends Handler {
constructor(...args) {
super(...args);
this.callInitHooks(DoubleClickZoomHandler);
}
addHooks() {
this._map.on("dblclick", this._onDoubleClick, this);
}
removeHooks() {
this._map.off("dblclick", this._onDoubleClick, this);
}
_onDoubleClick(e) {
const map = this._map, oldZoom = map.getZoom(), delta = map.options.zoomDelta, zoom = e.originalEvent.shiftKey ? oldZoom - delta : oldZoom + delta;
if (map.options.doubleClickZoom === "center") map.setZoom(zoom);
else map.setZoomAround(e.containerPoint, zoom);
}
static register(MaplairMap) {
MaplairMap.mergeOptions({ doubleClickZoom: true });
MaplairMap.addInitHook("addHandler", "doubleClickZoom", DoubleClickZoomHandler);
}
};
//#endregion
export { DoubleClickZoomHandler };
//# sourceMappingURL=DoubleClickZoomHandler.js.map