代码非常简单,就是控制缩放和移动的位置即可。
使用时,直接作为一个组件引入,需要缩放的内容内嵌就好了。
<template>
<div :class="['dragmap', isFullScreen ? 'dragmap-fullscreen' : '']" ref="areaWrap" @mousewheel.prevent="rollArea">
<div class="dragmap-cont" ref="area" @mousedown.prevent="moveArea">
<slot></slot>
</div>
<div class="dragmap-tool">
<span class="cursor-pointer" @click="ctrlPlus">放大</span>
<span class="cursor-pointer" @click="ctrlMinus">缩小</span>
<span class="cursor-pointer" @click="ctrlFullScreen">{
{isFullScreen ? '取消全屏' : '全屏'}}</span>
<span class="cursor-pointer" @click="ctrlRefresh">重置</span>
</div>