zoukankan      html  css  js  c++  java
  • 百度地图API示例:使用vue添加删除覆盖物

    1、index.html

    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>

    2、vue组件,HTML部分

    <template>
      <div class="firePower">
        <div id="firePowerMap"></div>
        <div>
          <button @click="insertShroud">添加</button>
          <button @click="deleteAll">删除全部</button>
          <button @click="deletePolyline">删除折线</button>
          <button @click="deleteCircle">删除圆</button>
        </div>
      </div>
    </template>

    3、vue组件,JS部分

      export default {
        data() {
          return {}
        },
        methods: {
          _getMapData() {
            let map = new BMap.Map("firePowerMap");  // 创建Map实例
            let point = new BMap.Point(116.404, 39.915);
            map.centerAndZoom(point, 15);
            map.setCurrentCity("北京"); // 地图显示的城市
            map.enableScrollWheelZoom(true);  //开启鼠标滚轮缩放
            window.map = map;//将map变量存储在全局
          },
          insertShroud() {
            var polyline = new BMap.Polyline([
              new BMap.Point(116.399, 39.910),//定义折线第一个点
              new BMap.Point(116.405, 39.920),//定义折线第二个点
              new BMap.Point(116.425, 39.900),//定义折线第三个点
              new BMap.Point(116.430, 39.918)//定义折线第四个点
            ], {strokeColor: "red", strokeWeight: 1, strokeOpacity: 1});   //创建折线
            //参数:颜色,线的宽度,线的透明度
            map.addOverlay(polyline);
            window.polyline = polyline;//将折线储存在全局
            var marker = new BMap.Marker(new BMap.Point(116.404, 39.915)); // 创建点
            map.addOverlay(marker);
    
            var point = new BMap.Point(116.404, 39.915);
            var circle = new BMap.Circle(point, 100, {strokeColor: "blue", strokeWeight: 2, strokeOpacity: 0.5}); //创建圆
            map.addOverlay(circle);
            window.circle = circle;//将圆储存在全局
            var polygon = new BMap.Polygon([
              new BMap.Point(116.387112, 39.920977),//定义多边形第一个点
              new BMap.Point(116.385243, 39.913063),//定义多边形第二个点
              new BMap.Point(116.394226, 39.917988),//定义多边形第三个点
              new BMap.Point(116.401772, 39.921364),//定义多边形第四个点
              new BMap.Point(116.412482, 39.927893),//定义多边形第五个点
            ], {strokeColor: "blue", strokeWeight: 2, strokeOpacity: 0.5});  //创建多边形
            map.addOverlay(polygon);
    
          },
          deleteAll() {
            map.clearOverlays();//删除全部
          },
          deletePolyline() {
            polyline.clearOverlays();//删除折线
          },
          deleteCircle() {
            circle.clearOverlays();//删除圆
          },
        },
        mounted() {
          this._getMapData();
        }
      }
  • 相关阅读:
    [动图演示]Redis 持久化 RDB/AOF 详解与实践
    挑战10个最难的Java面试题(附答案)【上】
    Python使用psutil模块,做你的电脑管家
    在线工具 正则表达式
    [USACO09JAN]Earthquake Damage
    [USACO09MAR]Moon Mooing
    [HNOI2005]汤姆的游戏
    [SDOI2010]大陆争霸
    [USACO08NOV]Cheering up the Cow
    [USACO08NOV]lites
  • 原文地址:https://www.cnblogs.com/xinchenhui/p/8985677.html
Copyright © 2011-2022 走看看