高德地图接入

前言

本文只是用来记录接入过程,方便后续回顾使用!

准备配置

新建Key

在控制台进入应用管理,创建新应用,新应用中添加 key,服务平台选择 Web端(JS API)。
在这里插入图片描述

准备Vue项目

  • 因为我选择JS API 结合Vue 使用故首先先准备一个Vue3项目
npm create vue@latest 

在选择功能时,按下空格键表示选择
在这里插入图片描述

//使用VSCode打开项目
code .\项目名

//安装vue依赖,俩个命令都可以
npm i
npm install

安装完成后,清除App.vue文件内容
在这里插入图片描述

准备地图

根据文档内容开始接入
1. 按 NPM 方式安装使用 Loader

npm i @amap/amap-jsapi-loader --save
  1. 新建 MapContainer.vue 文件
    在项目中新建MapContainer.vue文件,用作地图组件。
  2. 创建地图容器
    MapContainer.vue 地图组件中创建 div 标签作为地图容器 ,并设置地图容器的 id 属性为 container
<!-- id改为map_container防止重名 -->
<template>
  <div id="mp_container"></div>
</template>
  1. 设置地图容器样式
<style  scoped>
    #map_container{
        padding:0px;
        margin: 0px;
        width: 100%;
        height: 800px;
    }
</style>
  1. 引入 JS API Loader
    在地图组件 MapContainer.vue 中引入 amap-jsapi-loader
<script setup>
import AMapLoader from '@amap/amap-jsapi-loader';
</script>
  1. 创建地图组件
    MapContainer.vue文件中初始化地图
<script setup>
import { onMounted, onUnmounted } from "vue";
import AMapLoader from "@amap/amap-jsapi-loader";

let map = null;

onMounted(() => {
  window._AMapSecurityConfig = {
    securityJsCode: "「你申请的安全密钥」",
  };
  AMapLoader.load({
    key: "", // 申请好的Web端开发者Key,首次调用 load 时必填
    version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
    plugins: ["AMap.Scale"], //需要使用的的插件列表,如比例尺'AMap.Scale',支持添加多个如:['...','...']
  })
    .then((AMap) => {
      map = new AMap.Map("container", {
        // 设置地图容器id
        viewMode: "3D", // 是否为3D地图模式
        zoom: 11, // 初始化地图级别
        center: [116.397428, 39.90923], // 初始化地图中心点位置
      });
    })
    .catch((e) => {
      console.log(e);
    });
});

onUnmounted(() => {
  map?.destroy();
});
</script>
  1. 将自己添加的Key,和对应的安全密钥(securityJsCode)添加到对应的地方
    在这里插入图片描述
    在这里插入图片描述
  2. App.vue中引入组件`MapContainer在这里插入图片描述
  3. 查看启动页面发现地图只撑开了一点点
    在这里插入图片描述
    找到css文件中的#app,修改为下图即可撑开地图(只有一半)
    在这里插入图片描述
    注释掉代码,即可将地图铺满
    在这里插入图片描述

接入插件

引入插件

此示例为异步加载插件,异步加载指的是在JS API加载完成之后,在需要使用到某个插件的时候,通过AMap.plugin方法按需引入插件,在plugin回调之后使用插件功能。

//异步加载工具条插件
AMap.plugin("AMap.ToolBar", function () {
  //在回调函数中实例化插件,并使用插件功能
});

创建插件实例

//在回调函数中实例化插件
var toolbar = new AMap.ToolBar(); //创建工具条插件实例
map.addControl(toolbar); //添加工具条插件到页面

调用实例的方法,使用相关功能

toolbar.hide() //设置工具条隐藏

案例1:分别加载插件

在这里插入图片描述
比例尺控件
在这里插入图片描述
缩放控件
在这里插入图片描述

案例2:异步加载多个插件

在这里插入图片描述
效果也是和案例1一样的
更多插件的引入是一样的
在这里插入图片描述

结语

想要什么功能就直接参考官方的文档添加就可以了,还是挺方便简捷的!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值