Vue中如何使用高德地图

简介: Vue中如何使用高德地图

效果图:

image.png 这是高德地图API文档地址:地图的创建-生命周期-示例中心-JS API 示例 | 高德地图API

1.安装

vue-amap安装image.png

2.main.js中的配置

key申请地址教程:准备-入门-教程-地图 JS API | 高德地图API

1.// 高德离线地图
import VueAMap from 'vue-amap';
Vue.use(VueAMap);
VueAMap.initAMapApiLoader({
  // 高德key
  key: 'd6eabbd08f89ccfb74278b36ab6342567', // 自己到官网申请,我随便写的
  // 插件集合 (插件按需引入)
  plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor', 'AMap.MarkerClusterer'],
  v: '1.4.15', // 我也不知道为什么要写这个,不写项目会报错,而且我随便写的,跟我下载的版本对应不了
  uiVersion: '1.0.11' // ui版本号,也是需要写
})

3.页面中使用

1.<div id="mapChart" :style="{ width: '70vh', height: '70vh' }"></div>
// 地图配置项
    initmapFn() {
      var _this = this;
      // 创建地图,同时给地图设置中心点、级别、显示模式、自定义样式等属性
      _this.map1 = new AMap.Map("mapChart", {
        resizeEnable: true, //是否监控地图容器尺寸变化
        zoom: 3, // 缩放级别
        center: [113.3245904, 23.1066805], //中心点坐标
      });
      //插件依旧写在回调函数内,通过AMap.plugin方法按需引入插件,第一个参数是插件名,第二个是在plugin回调之后使用插件功能。
      AMap.plugin(["AMap.ToolBar", "AMap.Scale", "AMap.OverView"], function () {
        _this.map1.addControl(new AMap.ToolBar());
        _this.map1.addControl(new AMap.Scale());
        _this.map1.addControl(new AMap.OverView({ isOpen: true }));
      });
      _this.map1.clearMap();// 清除所有的覆盖物信息
      // 创建 infoWindow 实例
      // _this.map1.setFitView();
    },
    // 地图标注
    onMarkerMap(data) {
      if (data[0]) {
        data.forEach((element, index) => {
          if (element.lng) {
            let marker = new AMap.Marker({
              //在回调函数里面创建Marker实例,添加经纬度和标题
              position: new AMap.LngLat(element.lng, element.lat), //添加经纬度
              offset: new AMap.Pixel(-13, -30), // 偏移量
              // title: "广州塔", // 鼠标移上去时显示的内容
              // 可以自定义标记点显示的内容,允许插入html字符串
              // content: "<h1>广州塔Content</h1>",
            });
            this.map1.add(marker); // 将创建的点标记添加到已有的地图实例:
            //marker.setMap(this.map1);
            //名称
            marker.setLabel({// 设置label标签
              offset: new AMap.Pixel(-50, -30), //设置文本标注偏移量
              content: `<div class="info">${element.enterpriseName}</div>`, //设置文本标注内容
              direction: "right", //设置文本标注方位
            });
          }
        });
      }
}
相关文章
|
8月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
675 2
|
7月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
574 137
|
11月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
1098 0
|
11月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
10月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
681 1
|
11月前
|
JavaScript 前端开发 开发者
Vue 自定义进度条组件封装及使用方法详解
这是一篇关于自定义进度条组件的使用指南和开发文档。文章详细介绍了如何在Vue项目中引入、注册并使用该组件,包括基础与高级示例。组件支持分段配置(如颜色、文本)、动画效果及超出进度提示等功能。同时提供了完整的代码实现,支持全局注册,并提出了优化建议,如主题支持、响应式设计等,帮助开发者更灵活地集成和定制进度条组件。资源链接已提供,适合前端开发者参考学习。
688 17
|
10月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
489 0
|
11月前
|
JavaScript 前端开发 UED
Vue 表情包输入组件实现代码及详细开发流程解析
这是一篇关于 Vue 表情包输入组件的使用方法与封装指南的文章。通过安装依赖、全局注册和局部使用,可以快速集成表情包功能到 Vue 项目中。文章还详细介绍了组件的封装实现、高级配置(如自定义表情列表、主题定制、动画效果和懒加载)以及完整集成示例。开发者可根据需求扩展功能,例如 GIF 搜索或自定义表情上传,提升用户体验。资源链接提供进一步学习材料。
704 1
|
11月前
|
存储 JavaScript 前端开发
如何高效实现 vue 文件批量下载及相关操作技巧
在Vue项目中,实现文件批量下载是常见需求。例如文档管理系统或图片库应用中,用户可能需要一次性下载多个文件。本文介绍了三种技术方案:1) 使用`file-saver`和`jszip`插件在前端打包文件为ZIP并下载;2) 借助后端接口完成文件压缩与传输;3) 使用`StreamSaver`解决大文件下载问题。同时,通过在线教育平台的实例详细说明了前后端的具体实现步骤,帮助开发者根据项目需求选择合适方案。
961 0
|
11月前
|
JavaScript 前端开发 UED
Vue 项目中如何自定义实用的进度条组件
本文介绍了如何使用Vue.js创建一个灵活多样的自定义进度条组件。该组件可接受进度段数据数组作为输入,动态渲染进度段,支持动画效果和内容展示。当进度超出总长时,超出部分将以红色填充。文章详细描述了组件的设计目标、实现步骤(包括props定义、宽度计算、模板渲染、动画处理及超出部分的显示),并提供了使用示例。通过此组件,开发者可根据项目需求灵活展示进度情况,优化用户体验。资源地址:[https://pan.quark.cn/s/35324205c62b](https://pan.quark.cn/s/35324205c62b)。
515 0

热门文章

最新文章