前端项目使用高德地图插件

高德开放平台 | 高德地图API

1、注册成为开发者

登录 高德开放平台控制台,如果没有开发者账号,请 注册开发者

 

2. 创建key,项目里面要用

进入应用管理,创建新应用,新应用中添加 key,服务平台选择 Web端(JS API)。

3.获取 key 和密钥

创建成功后,可获取 key 和安全密钥。

 4.使用前准备

编写 HTML 页面的基本的结构代码,需要一个<div>节点作为地图容器,同时为此<div>指定id属性

 <div id='container'  />

5.JS API 的加载和地图初始化 

使用 JS API Loader 来加载,引入在控制台申请的 key 和安全密钥。

useEffect(() => {
    AMapLoader.load({
      key: import.meta.env.VITE_AMAP_KEY,
      version: '2.0',
    })

      .then((AMap) => {
        const amap = new AMap.Map('container', {
          center: [116.45, 39.92],
          zoom: 11,
          viewMode: '2D',
          features: ['bg', 'point', 'road'],
        })
        setAMap(amap)
      })
      .catch((err) => {
        console.log(err)
      })
  }, [])

6.例子

绘制标记

 <script>
    //创建地图
    var map = new AMap.Map('container', {
      zoom: 10,
      center: [116.405285, 39.904989]
    });

    // 创建两个点标记
    var m1 = new AMap.Marker({
      position: [116.49, 39.9]
    });
    var m2 = new AMap.Marker({
      position: [116.29, 39.9]
    });
    var m3 = new AMap.Marker({
      position: [116.69, 39.9],
      icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_r.png"
    });
    map.add(m1);
    map.add(m2);
    map.add(m3);

    //自动适配到指定视野范围
    document.querySelector("#fitblue").onclick = function(){
      map.setFitView([m1, m2]);
    }

    //无参数时,自动自适应所有覆盖物
    document.querySelector("#fitall").onclick = function(){
      map.setFitView();
    }
  </script>

绘制折线

<script type="text/javascript">
    var map = new AMap.Map("container", {
      center: [116.395577, 39.892257],
      zoom: 14
    });

    var path = [
      [116.362209, 39.887487],
      [116.422897, 39.878002],
      [116.372105, 39.90651],
      [116.428945, 39.89663]
    ];
  var path2 = [
    [
      [
        116.32873535156249,
        40.01499435375046
      ],
      [
        116.52099609375,
        40.019201307686785
      ],
      [
        116.49902343749999,
        40.12849105685408
      ]
    ],
 [
      [
        116.66931152343749,
        40.0360265298117
      ],
      [
        116.72973632812499,
        40.14948820651523
      ],
      [
        116.81213378906249,
        40.01499435375046
      ]
    ]
  ]

    var polyline = new AMap.Polyline({
      path: path,
      isOutline: true,
      outlineColor: '#ffeeff',
      borderWeight: 3,
      strokeColor: "#3366FF",
      strokeOpacity: 1,
      strokeWeight: 6,
      // 折线样式还支持 'dashed'
      strokeStyle: "solid",
      // strokeStyle是dashed时有效
      strokeDasharray: [10, 5],
      lineJoin: 'round',
  lineCap: 'round',
      zIndex: 50,
    })

    var polyline2 = new AMap.Polyline({
      path: path2,
      isOutline: true,
      outlineColor: '#ffeeff',
      borderWeight: 3,
      strokeColor: "#3366FF",
      strokeOpacity: 1,
      strokeWeight: 6,
      // 折线样式还支持 'dashed'
      strokeStyle: "dashed",
      // strokeStyle是dashed时有效
      strokeDasharray: [15, 5],
      lineJoin: 'round',
      lineCap: 'round',
      zIndex: 50,
    })
    map.add([polyline,polyline2]);
    map.setFitView();
  </script>

### 若依前端框架中集成高德地图插件 若依(RuoYi)是一个基于Spring Boot和Vue.js开发的企业级管理后台快速开发平台。要在其前端部分集成高德地图插件,可以按照以下方法完成。 #### 一、前期准备工作 在开始之前,需确保已注册高德开放平台账号并获取API Key[^1]。此Key用于初始化地图实例时验证身份。此外,还需安装`vue-amap`库作为桥梁工具来简化Vue中的高德地图操作[^3]。 ```bash npm install vue-amap --save ``` #### 二、配置vue-amap 在项目的入口文件(通常是`main.js`),引入并初始化`vue-amap`: ```javascript import Vue from 'vue'; import VueAmap from 'vue-amap'; // 安装插件 Vue.use(VueAmap); // 初始化插件 VueAmap.initAMapApiLoader({ key: '您的高德地图API Key', // 替换为您自己的key plugin: ['AMap.Scale', 'AMap.ToolBar'], // 加载所需的插件 v: '1.4.15' // 使用高德地图版本号 }); ``` 上述代码完成了对`vue-amap`的基础设置,并加载了一些常用的控件如比例尺(`Scale`)和工具条(`ToolBar`)[^3]。 #### 三、创建地图组件 定义一个新的Vue组件用来承载地图逻辑,在该组件内的`<template>`标签下放置地图容器;同时利用生命周期函数`mounted()`渲染地图实例[^4]。 ```html <template> <div id="app"> <div ref="mapContainer" style="width: 100%; height: 500px;"></div> </div> </template> <script> export default { data() { return { map: null, }; }, mounted() { this.$amapPromise.then(() => { this.map = new AMap.Map(this.$refs['mapContainer'], { zoom: 10, // 设置缩放级别 center: [116.397428, 39.90923], // 地图中心点坐标 }); }); }, beforeDestroy() { if (this.map) { this.map.destroy(); } } }; </script> ``` 这里通过`$amapPromise`等待高德地图脚本完全加载后再执行后续的地图初始化工作。另外注意清理资源防止内存泄漏。 #### 四、样式调整与优化 为了使地图更好地融入到整个页面布局当中,可能还需要针对不同屏幕尺寸做响应式设计以及自定义一些视觉效果。这部分可以根据实际需求灵活处理。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值