js 代码 如何改写成 vue 谢谢大佬

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>

        <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=0MA953dkYQM4fQriWe6NaII8QpjeCCZh"></script>
        <!--加载鼠标绘制工具-->
        <script type="text/javascript" src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></script>
        <link rel="stylesheet" href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css" />

    </head>
    <body>

        <div id="allmap" style="overflow:hidden;zoom:1;position:relative;">
            <div id="map" style="height:500px;-webkit-transition: all 0.5s ease-in-out;transition: all 0.5s ease-in-out;"></div>
        </div>
        <div id="result">
            <input type="button" value="获取绘制的覆盖物个数" onclick="alert(overlays.length)" />
            <input type="button" value="清除所有覆盖物" onclick="clearAll()" />
        </div>

        <script>
            // 百度地图API功能
            var map = new BMap.Map('map');
            var poi = new BMap.Point(116.307852, 40.057031);
            map.centerAndZoom(poi, 16); //设置中心点坐标和地图级别
            map.enableScrollWheelZoom(); //启用鼠标滚动对地图放大缩小

            //鼠标绘制完成回调方法   获取各个点的经纬度
            var overlays = [];
            var overlaycomplete = function(e) {
                overlays.push(e.overlay);
                if(overlays.length>1){
                    alert("只能绘制一个区域!!!")
                }
                var path = e.overlay.getPath(); //Array<Point> 返回多边型的点数组
                console.log(path)
                for (var i = 0; i < path.length; i++) {
                    console.log("lng:" + path[i].lng + "\n lat:" + path[i].lat);
                }
            };
            var styleOptions = {
                strokeColor: "red", //边线颜色。
                fillColor: "red", //填充颜色。当参数为空时,圆形将没有填充效果。
                strokeWeight: 3, //边线的宽度,以像素为单位。
                strokeOpacity: 0.8, //边线透明度,取值范围0 - 1。
                fillOpacity: 0.6, //填充的透明度,取值范围0 - 1。
                strokeStyle: 'solid' //边线的样式,solid或dashed。
            }
            //实例化鼠标绘制工具
            var drawingManager = new BMapLib.DrawingManager(map, {
                isOpen: false, //是否开启绘制模式
                enableDrawingTool: true, //是否显示工具栏
                drawingMode: BMAP_DRAWING_POLYGON, //绘制模式  多边形
                drawingToolOptions: {
                    anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
                    offset: new BMap.Size(5, 5), //偏离值
                    drawingModes: [
                        BMAP_DRAWING_POLYGON,
                        BMAP_DRAWING_CIRCLE,
                        BMAP_DRAWING_RECTANGLE
                    ]
                },
                polygonOptions: styleOptions //多边形的样式
            });

            //添加鼠标绘制工具监听事件,用于获取绘制结果
            drawingManager.addEventListener('overlaycomplete', overlaycomplete);

            function clearAll() {
                for (var i = 0; i < overlays.length; i++) {
                    map.removeOverlay(overlays[i]);
                }
                overlays.length = 0
            }
        </script>


    </body>
</html>

以上代码用vue 怎么 改写啊???求前端大神指教 感激不尽!!!

vue整合百度地图,参考下:

<!--地图展示-->
<template>
  <div id="allmap"></div>
</template>
<script>
export default {
  name:'',
  data(){
   return{

   }
  },
  mounted() {
    //初始化
    // 百度地图API功能
    var map = new BMap.Map("allmap");    // 创建Map实例
    map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);  // 初始化地图,设置中心点坐标和地图级别
    //添加地图类型控件
    map.addControl(new BMap.MapTypeControl({
      mapTypes:[
        BMAP_NORMAL_MAP,
        BMAP_HYBRID_MAP
      ]}));
    map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的
    map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
  }
}
</script>
<style scoped>
  body,
  html,
  #allmap{
    width: 100%;
    height: 600px;
    overflow: hidden;
    margin: 0;
    font-family: "Arial Black";
  }
</style>

https://blog.csdn.net/qq_38233650/article/details/88533144

//在index.html引入一下
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=0MA953dkYQM4fQriWe6NaII8QpjeCCZh"></script>
        <!--加载鼠标绘制工具-->
        <script type="text/javascript" src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></script>
        <link rel="stylesheet" href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css" />





                <template>
                    <div id="allmap" style="overflow:hidden;zoom:1;position:relative;">
            <div id="map" style="height:500px;-webkit-transition: all 0.5s ease-in-out;transition: all 0.5s ease-in-out;"></div>
        </div>
        <div id="result">
            <input type="button" value="获取绘制的覆盖物个数" @click="getAlert()" />
            <input type="button" value="清除所有覆盖物" @click="clearAll()" />
        </div>
                </template>

                <scripte>
                    export default{

                    data(){
                        return{
                        poi:null,
        map:null,
        path:null,
        drawingManager:null,
        overlays:[],
        styleOptions = {
                strokeColor: "red", //边线颜色。
                fillColor: "red", //填充颜色。当参数为空时,圆形将没有填充效果。
                strokeWeight: 3, //边线的宽度,以像素为单位。
                strokeOpacity: 0.8, //边线透明度,取值范围0 - 1。
                fillOpacity: 0.6, //填充的透明度,取值范围0 - 1。
                strokeStyle: 'solid' //边线的样式,solid或dashed。
            }

                        }
                    },
                    created(){
      this.map = new BMap.Map('map');
      this.poi = new BMap.Point(116.307852, 40.057031);
      this.map.centerAndZoom(poi, 16); //设置中心点坐标和地图级别
      this.map.enableScrollWheelZoom(); //启用鼠标滚动对地图放大缩小
      //实例化鼠标绘制工具
      var drawingManager = new BMapLib.DrawingManager(map, {
        isOpen: false, //是否开启绘制模式
        enableDrawingTool: true, //是否显示工具栏
        drawingMode: BMAP_DRAWING_POLYGON, //绘制模式  多边形
        drawingToolOptions: {
            anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
            offset: new BMap.Size(5, 5), //偏离值
            drawingModes: [
                BMAP_DRAWING_POLYGON,
                BMAP_DRAWING_CIRCLE,
                BMAP_DRAWING_RECTANGLE
            ]
        },
        polygonOptions: styleOptions //多边形的样式
    });
    drawingManager.addEventListener('overlaycomplete', this.overlaycomplete);
  },
                    methods:{

                    overlaycomplete(e){
          this.overlays.push(e.overlay);
            if(this.overlays.length>1){
                alert("只能绘制一个区域!!!")
            }
            this.path = e.overlay.getPath(); //Array<Point> 返回多边型的点数组
            console.log(path)
            for (var i = 0; i < this.path.length; i++) {
                console.log("lng:" + this.path[i].lng + "\n lat:" + this.path[i].lat);
            }
      },
        clearAll(){
            for (var i = 0; i < this.overlays.length; i++) {
                this.map.removeOverlay(overlays[i]);
            }
            this.overlays.length = 0
        },
        getAlert(){
            alert(this.overlays.length)
        }

                    }
                    }


                </script>

首先你得会vue的基本语法和用法,要不然别人帮你改了,后面如果出了问题,还得你自己调整,所以还是自己来靠谱