web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

vue3项目如何正确引入新版高德地图(完整代码)

542 ℃
     

如何在vue3项目引入新版高德地图,首页我们需要做几步:1、注册好账号登录;2、获取key和密钥3、安装脚手架!下面web建站小编给大家简单介绍一下具体代码!

安装脚手架:

npm i @amap/amap-jsapi-loader --save

具体代码如下:

<template>
  <div class="app">
    <div style="background: #fff;">
      <div id="map"></div>
    </div>
  </div>
</template>
  
<script setup>
import AMapLoader from '@amap/amap-jsapi-loader';
import { shallowRef } from '@vue/reactivity';
import {ref} from "vue";
  
const path = ref([]);
const current_position = ref([]);
  
function initMap() {
  window._AMapSecurityConfig = {
    securityJsCode: '8e920f73eb2e6880a92ea6662eefc476',
  }
  AMapLoader.load({
    key:"e4e3d44a98350790a1493450032bbec5", // 申请好的Web端开发者Key,首次调用 load 时必填
    version:"2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
    // plugins:[''], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
  }).then((AMap)=>{
    const map = new AMap.Map("map",{  //设置地图容器id
      viewMode:"3D",  //是否为3D地图模式
      zoom:13,       //初始化地图级别
      center:[113.808299,34.791787], //初始化地图中心点位置
    });
    // 添加插件
    AMap.plugin(["AMap.ToolBar", "AMap.Scale", "AMap.HawkEye","AMap.Geolocation","AMap.MapType","AMap.MouseTool"], function () {
      //异步同时加载多个插件
      // 添加地图插件
      map.addControl(new AMap.ToolBar()); // 工具条控件;范围选择控件
      map.addControl(new AMap.Scale()); // 显示当前地图中心的比例尺
      map.addControl(new AMap.HawkEye()); // 显示缩略图
      map.addControl(new AMap.Geolocation()); // 定位当前位置
      map.addControl(new AMap.MapType()); // 实现默认图层与卫星图,实时交通图层之间切换
  
      // 以下是鼠标工具插件
      const mouseTool = new AMap.MouseTool(map);
      // mouseTool.rule();// 用户手动绘制折线图,测量距离
      mouseTool.measureArea(); // 测量面积
    });
    // 单击
    map.on('click',(e) => {
      // lng ==> 经度值  lat => 维度值
      current_position.value = [e.lnglat.lng,e.lnglat.lat];
      path.value.push([e.lnglat.lng,e.lnglat.lat]);
      // addMarker();
      // addPolyLine();
    })
  
  
    // 实例化点标记
    // 第一种(封成函数来触发)
    function addMarker() {
      const marker = new AMap.Marker({
        icon: "//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",
        position: current_position.value, // 这里我们通过上面的点击获取经纬度坐标,实时添加标记
        // 通过设置 offset 来添加偏移量
        offset: new AMap.Pixel(-26, -54),
      });
      marker.setMap(map);
    }
    // 第二种 直接写死 position 的经纬度值
    /*const marker = new AMap.Marker({
      icon: "//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",
      position: [113.808299,34.791787],
      // 通过设置 offset 来添加偏移量
      offset: new AMap.Pixel(-26, -54),
    });
    marker.setMap(map);*/
  
     // 折线
    function addPolyLine() {
      const polyline = new AMap.Polyline({
        path: path.value,
        isOutline: true,
        outlineColor: "#ffeeff",
        borderWeight: 1,
        strokeColor: "#3366FF",
        strokeOpacity: 0.6,
        strokeWeight: 5,
        // 折线样式还支持 'dashed'
        strokeStyle: "solid",
        // strokeStyle是dashed时有效
        // strokeDasharray: [10, 5],
        lineJoin: "round",
        lineCap: "round",
        zIndex: 50,
      });
      map.add([polyline]);
    }

  }).catch(e=>{
    console.log(e);
  })
}
  

initMap()
</script>
  
<style>
#map{
  padding:0px;
  margin: 0px;
  width: 100%;
  height: 800px;
}
</style>

介绍高德地图VR实景导航功能开启步骤

高德地图app如何默认设置避开高速走国道功能?

Element UI中文官网Element Plus是一套基于Vue3.0的桌面端组件库

vue3如何解决store.state.count错误的取值

vue3相对于vue2有哪些新特性?

标签: vue3, 高德地图

上面是“vue3项目如何正确引入新版高德地图(完整代码)”的全面内容,想了解更多关于 vuejs 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_4749.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > vuejs
本文共计2440个字,预计阅读时长17分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款免费开源的屏幕录制软件——OBS Studio
下一篇: 推荐一个高质量的图片素材网站——Unsplash
x 打工人ai神器