Rumah > hujung hadapan web > View.js > vue amap怎么用

vue amap怎么用

藏色散人
Lepaskan: 2023-01-13 00:44:56
asal
2556 orang telah melayarinya

vue amap的使用方法:首先通过“vue init webpack vueamap”下载vue webpack的模板;然后使用“cnpm install vue-amap --save”安装vue-amap;最后运用此组件库即可。

vue amap怎么用

本教程操作环境:windows7系统、vue2.0版本、thinkpad t480电脑。

推荐:《vue教程

一、 down一个vue webpack的模板

vue init webpack vueamap
Salin selepas log masuk

根据提示完成模板下载,此处我的项目中选择router为yes 其他测试插件全为no? vueamap为文件夹名称

模板下载后 安装依赖

cnpm install
Salin selepas log masuk

依赖安装完成后 执行开发环境

npm run dev
Salin selepas log masuk

若提示在"localhost:8080"上查看效果,在浏览器上查看效果,若出现VUE效果 则模板下载成功

二、安装vue-amap

安装vue-amap

cnpm install vue-amap --save
Salin selepas log masuk

安装完成后,main.js文件中引入

import VueAMap from "vue-amap";
Vue.use(VueAMap);
Salin selepas log masuk

初始化高德地图,此处需要有一个KEY,可以到高德地图平台上去申请.

初始化高德地图的key与插件

VueAMap.initAMapApiLoader({
  key: "e1dedc6bdd765d46693986ff7ff969f4",
  plugin: [
    "AMap.Autocomplete", //输入提示插件
    "AMap.PlaceSearch", //POI搜索插件
    "AMap.Scale", //右下角缩略图插件 比例尺
    "AMap.OverView", //地图鹰眼插件
    "AMap.ToolBar", //地图工具条
    "AMap.MapType", //类别切换控件,实现默认图层与卫星图、实施交通图层之间切换的控制
    "AMap.PolyEditor", //编辑 折线多,边形
    "AMap.CircleEditor", //圆形编辑器插件
    "AMap.Geolocation" //定位控件,用来获取和展示用户主机所在的经纬度位置
  ],
  uiVersion: "1.0"
});
Salin selepas log masuk

三、 使用

下面开始正式运用此组件库

注:后续所用到的配置并非全面配置,若有不懂或想详细了解,

请移步vue-amap文档:vue-amap文档(https://elemefe.github.io/vue-amap/#/zh-cn/introduction/install)

文档介绍比较简单,建议到高德官方查看参考手册对照使用

高德参考手册:参考手册(http://lbs.amap.com/api/javascript-api/reference/map)

1、构建地图

模板:

    <div class="amap-wrapper">
      <el-amap class="amap-box" vid="map" 
        :zoom="zoom"
        :center="center">
      </el-amap>
    </div>
Salin selepas log masuk

data中数据:

zoom:16,
center:[121.406051,31.179695],
Salin selepas log masuk

保存后,浏览器中运行,效果图如下:

38d65e43a6813840b6e17da68b27bf9.png

2、添加标注点(此处以地图的center为位置点添加)

模板:

<div class="amap-wrapper">
      <el-amap vid="amapDemo" 
        :center="center" 
        :zoom="zoom"
        class="amap-demo">
        <el-amap-marker vid="marker" 
          :position="center" 
          :label="label"
           >
        </el-amap-marker>
      </el-amap>
    </div>
Salin selepas log masuk

增加一条label数据,作为该点的介绍使用 ,可参照文档自行决定是否添加

      label:{
        content:&#39;钦汇园&#39;,
        offset:[10,12]
      },
Salin selepas log masuk

保存后结果如下图 marker已经加载了

3f9a5d16493fef930450cfa32044e5a.png

3、添加圆形区域?(此处依旧以中心点为圆心 半径为100)

注意:添加圆形区域时,要在初始化插件里初始化"AMap.CircleEditor",否则会报错

模板:

<div class="amap-wrapper">
      <el-amap vid="amapDemo" 
        :center="center" 
        :zoom="zoom"
        class="amap-demo">
        <el-amap-marker vid="marker" 
          :position="center" 
          :label="label"
           >
        </el-amap-marker>
        <el-amap-circle  vid="circle"
          :center="center" 
          :radius="radius" 
          fill-opacity="0.2"
          strokeColor="#38f"
          strokeOpacity="0.8"
          strokeWeight="1"
          fillColor="#38f"
          >
        </el-amap-circle>
      </el-amap>
    </div>
Salin selepas log masuk

拓展:动态更改圆形区域的半径,可用于设置范围

此处我以“精度++”按钮为例,每点击一次半径加10

data数据:

radius:100
Salin selepas log masuk

增加事件:

addRadius(){
      this.radius+=10;
    }
Salin selepas log masuk

PS:添加其他覆盖物,如折线,图片,多边形等,用法与此类似,参照官方文档进行使用即可

效果图如下:

765b3d4623365ff317ef743c9118930.png

3、使用插件

只用插件时,一定要在前面initAMapApiLoader里面进行初始化,否则会报错

模板:

  <div class="amap-wrapper">
      <el-amap class="amap-box" vid="map" 
        :zoom="zoom"
        :center="center" 
        :plugin="plugin">
        <el-amap-marker vid="marker" 
          :position="center" 
          :label="label"
           >
        </el-amap-marker>
        <el-amap-circle  vid="circle"
          :center="center" 
          :radius="radius" 
          fill-opacity="0.2"
          strokeColor="#38f"
          strokeOpacity="0.8"
          strokeWeight="1"
          fillColor="#38f"
          >
        </el-amap-circle>
      </el-amap>
    </div>
Salin selepas log masuk

data里添加插件数据:

plugin: [
        {
          pName: &#39;ToolBar&#39;,//工具条插件
          position:&#39;LB&#39;,
        },
        {
          pName: &#39;MapType&#39;,//卫星与地图切换
          defaultType: 0,
          showTraffic:true,//实时交通图层
        },
        {
          pName:&#39;OverView&#39;,
          //isOpen:true//鹰眼是否打开
        },
        {
          pName:&#39;Scale&#39;
        },
        {
          pName:&#39;Geolocation&#39;,//定位插件
          showMarker:false,
          events:{
            init(o){
              //定位成功 自动将marker和circle移到定位点
              o.getCurrentPosition((status, result) => {
                console.log(result);
                vm.center=[result.position.lng,result.position.lat]
              });
            }
          }
        }
      ]
Salin selepas log masuk

效果图如下:

230b63b0e3ab805b36636bf5227543d.png

全部代码如下:


<script>
export default {
  name:&#39;home&#39;,
  data(){
    let vm=this;
    return{
      msg:&#39;vue-amap demo&#39;,
      zoom:16,
      center:[121.406051,31.179695],
      label:{
        content:&amp;#39;钦汇园&amp;#39;,
        offset:[10,12]
      },
      radius:100,
      plugin: [
        {
          pName: &amp;#39;ToolBar&amp;#39;,//工具条插件
          position:&amp;#39;LB&amp;#39;,
        },
        {
          pName: &amp;#39;MapType&amp;#39;,//卫星与地图切换
          defaultType: 0,
          showTraffic:true,//实时交通图层
        },
        {
          pName:&amp;#39;OverView&amp;#39;,
          //isOpen:true//鹰眼是否打开
        },
        {
          pName:&amp;#39;Scale&amp;#39;
        },
        {
          pName:&amp;#39;Geolocation&amp;#39;,//定位插件
          showMarker:false,
          events:{
            init(o){
              //定位成功 自动将marker和circle移到定位点
              o.getCurrentPosition((status, result) =&gt; {
                console.log(result);
                vm.center=[result.position.lng,result.position.lat]
              });
            }
          }
        }
      ]
    }
  },
  methods:{
    addRadius(){
      this.radius+=10;
    }
  }
}
</script>
Salin selepas log masuk

Atas ialah kandungan terperinci vue amap怎么用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
vue
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan