位置: IT常识 - 正文

在Vue中使用高德地图(vue调用高德js)

编辑:rootadmin
在Vue中使用高德地图 在Vue中使用高德地图一、如何在Vue中引入基础高德地图1、步骤一:注册并登录高德地图开放平台,申请密钥2、步骤二:安装高德地图加载器3、封装一个自定义地图组件,并初始化地图二、根据关键词搜索,并定位到搜索的位置三、添加放大缩小地图、转盘四、点击地图获取经纬度五、地图上绘制标记点、圆形、曲线、矩形和多边形等,及其绘制清除六、总结一、如何在Vue中引入基础高德地图

推荐整理分享在Vue中使用高德地图(vue调用高德js),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue调用高德js,vue3使用高德地图,vue调用高德地图实现导航,vue调用高德js,vue调用高德地图实现导航,vue中使用高德地图安全性问题,vue中使用高德地图首次进入地图页面不显示,vue中使用高德地图首次进入地图页面不显示,内容如对您有帮助,希望把文章链接给更多的朋友!

根据官网提示,在Web端,我们需要高德地图加载器:npm i @amap/amap-jsapi-loader -S

注意: * 此教程适用于Web端,移动端还未尝试,感兴趣的或者有需要的可单独联系我 * @amap/amap-jsapi-loader加载器npm地址

1、步骤一:注册并登录高德地图开放平台,申请密钥

高德地图开放平台 操作步骤如下图:

2、步骤二:安装高德地图加载器npm i @amap/amap-jsapi-loader -S3、封装一个自定义地图组件,并初始化地图<template> <!-- 百度地图 --> <div id="bai-du-map"> <!-- 技术支持和联系方式 --> </div></template><script>import AMapLoader from "@amap/amap-jsapi-loader";// 设置安全密钥window._AMapSecurityConfig = { securityJsCode: '安全密钥',}export default { data() { return { map : null, mouseTool : null, overlays : [], auto : null, placeSearch : null, } }, methods : { initMap() { AMapLoader.load({ "key": "申请好的Web端开发者Key,首次调用 load 时必填", "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": [地图用到的插件], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }).then((AMap)=>{ // 初始化地图 this.map = new AMap.Map('bai-du-map',{ viewMode : "2D", // 是否为3D地图模式 zoom : 13, // 初始化地图级别 center : [113.65553,34.748764], //中心点坐标 郑州 resizeEnable: true }); }).catch(e => { console.log(e); }); }};</script><style scoped>#bai-du-map { overflow: hidden; width: 100%; height: 100%; margin: 0; font-family: "微软雅黑";}</style><style>/* 隐藏高德logo */.amap-logo { display: none !important;}/* 隐藏高德版权 */.amap-copyright { display: none !important;}</style>在Vue中使用高德地图(vue调用高德js)

注意点:

2021年起,高德地图必须使用安全密钥 即是

window._AMapSecurityConfig = { securityJsCode: '安全密钥',}

二、根据关键词搜索,并定位到搜索的位置<template> <!-- 百度地图 --> <div id="bai-du-map"> <!-- 技术支持和联系方式 --> </div></template><script>import AMapLoader from "@amap/amap-jsapi-loader";window._AMapSecurityConfig = { // 设置安全密钥 securityJsCode: '安全密钥',}export default { props : ["iptId"], data() { return { map : null, mouseTool : null, overlays : [], auto : null, placeSearch : null, } }, methods : { initMap() { AMapLoader.load({ "key": "密钥", // 申请好的Web端开发者Key,首次调用 load 时必填 "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": ["AMap.AutoComplete","AMap.PlaceSearch"], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 // "plugins": [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }).then((AMap)=>{ this.map = new AMap.Map('bai-du-map',{ viewMode : "2D", // 是否为3D地图模式 zoom : 13, // 初始化地图级别 center : [113.65553,34.748764], //中心点坐标 郑州 resizeEnable: true }); this.auto = new AMap.AutoComplete({ input : this.iptId // 搜索框的id }); this.placeSearch = new AMap.PlaceSearch({ map: this.map, panel: "panel", // 结果列表将在此容器中进行展示。 // city: "010", // 兴趣点城市 autoFitView: true, // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围 extensions: 'base' //返回基本地址信息 }); this.auto.on("select", this.select);//注册监听,当选中某条记录时会触发 }).catch(e => { console.log(e); }); }, select(e) { this.placeSearch.setCity(e.poi.adcode); this.placeSearch.search(e.poi.name); //关键字查询查询 } }, mounted() { this.initMap(); },};</script>

三、添加放大缩小地图、转盘<template> <!-- 百度地图 --> <div id="bai-du-map"> <!-- 技术支持和联系方式 --> </div></template><script>import AMapLoader from "@amap/amap-jsapi-loader";window._AMapSecurityConfig = { // 设置安全密钥 securityJsCode: '安全密钥',}export default { props : ["iptId"], data() { return { map : null, mouseTool : null, overlays : [], auto : null, placeSearch : null, } }, methods : { initMap() { AMapLoader.load({ "key": "密钥", // 申请好的Web端开发者Key,首次调用 load 时必填 "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": ["AMap.Scale","AMap.ToolBar","AMap.ControlBar","AMap.MouseTool","AMap.MapType","AMap.HawkEye"], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 // "plugins": [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }).then((AMap)=>{ this.map = new AMap.Map('bai-du-map',{ viewMode : "2D", // 是否为3D地图模式 zoom : 13, // 初始化地图级别 center : [113.65553,34.748764], //中心点坐标 郑州 resizeEnable: true }); this.map.addControl(new AMap.Scale()); // 添加左下角的比例尺 let toolBar = new AMap.ToolBar({ position: { bottom: '210px', right: '35px' } }); let controlBar = new AMap.ControlBar({ position: { bottom: '280px', right: '10px', }, }); this.map.addControl(toolBar); // 添加右下角的放大缩小 this.map.addControl(controlBar); // 方向盘 this.map.addControl(new AMap.MapType()); // 添加右上角的标准图和卫星图 和路况 this.map.addControl(new AMap.HawkEye()); // 添加地图放大镜 }).catch(e => { console.log(e); }); }, }, mounted() { this.initMap(); },};</script>四、点击地图获取经纬度initMap() { AMapLoader.load({ "key": "key", // 申请好的Web端开发者Key,首次调用 load 时必填 "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": ["AMap.Scale","AMap.ToolBar","AMap.AutoComplete","AMap.PlaceSearch","AMap.ControlBar","AMap.MouseTool"], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 // "plugins": [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }).then((AMap)=>{ // 鼠标点击获取经纬度 this.map.on('click', function(e) { console.log("经度",e.lnglat.getLng()) console.log("纬度",e.lnglat.getLat()) }); }).catch(e => { console.log(e); }); },五、地图上绘制标记点、圆形、曲线、矩形和多边形等,及其绘制清除<template> <!-- 百度地图 --> <div id="bai-du-map"> <!-- 技术支持和联系方式 --> </div></template><script>import AMapLoader from "@amap/amap-jsapi-loader";window._AMapSecurityConfig = { // 设置安全密钥 securityJsCode: '安全密钥',}export default { data() { return { map : null, mouseTool : null, overlays : [], auto : null, placeSearch : null, } }, methods : { initMap() { AMapLoader.load({ "key": "密钥", // 申请好的Web端开发者Key,首次调用 load 时必填 "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": ["AMap.Scale","AMap.ToolBar","AMap.AutoComplete","AMap.PlaceSearch","AMap.ControlBar","AMap.MouseTool"], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 // "plugins": [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }).then((AMap)=>{ this.map = new AMap.Map('bai-du-map',{ viewMode : "2D", // 是否为3D地图模式 zoom : 13, // 初始化地图级别 center : [113.65553,34.748764], //中心点坐标 郑州 resizeEnable: true }); this.mouseTool = new AMap.MouseTool(this.map); // 监听draw事件可获取画好的覆盖物 this.mouseTool.on('draw',function(e){ this.overlays.push(e.obj); }.bind(this)) }).catch(e => { console.log(e); }); }, draw(type) { switch(type){ case 'marker':{ this.mouseTool.marker({ //同Marker的Option设置 }); break; } case 'polyline':{ this.mouseTool.polyline({ strokeColor:'#80d8ff' //同Polyline的Option设置 }); break; } case 'polygon':{ this.mouseTool.polygon({ fillColor:'#00b0ff', strokeColor:'#80d8ff' //同Polygon的Option设置 }); break; } case 'rectangle':{ this.mouseTool.rectangle({ fillColor:'#00b0ff', strokeColor:'#80d8ff' //同Polygon的Option设置 }); break; } case 'circle':{ this.mouseTool.circle({ fillColor:'#00b0ff', strokeColor:'#80d8ff' //同Circle的Option设置 }); break; } } }, }, mounted() { this.initMap(); },};</script>

清除绘制

// 清除 // map.remove(overlays) // overlays = []; // 或者 // mouseTool.close(true)//关闭,并清除覆盖物六、总结

一般的,使用高德地图,不需要参考其他博主写的,基本上就是安装一个加载器@amap/amap-jsapi-loader,然后参考高德地图开放webjs文档,就完全可以自己实现业务需求

高德地图开放webjs文档 ,这个API文档写的很好,包括了针对于Vue和React的基本引用,以及相关地图需求都有API满足

本文链接地址:https://www.jiuchutong.com/zhishi/296000.html 转载请保留说明!

上一篇:如何在 Vue 3 中使用 Ant Design(vue3怎么样)

下一篇:Chrome浏览器快捷键大全(chrome浏览器快捷方式)

  • 微信个人签名怎么设置(微信个人签名怎么删除掉)

    微信个人签名怎么设置(微信个人签名怎么删除掉)

  • 电脑进程太多怎么处理(电脑进程太多怎么优化)

    电脑进程太多怎么处理(电脑进程太多怎么优化)

  • 华为手机下载的安装包在哪里(华为手机下载的音频在哪)

    华为手机下载的安装包在哪里(华为手机下载的音频在哪)

  • 腾讯视频为什么不能用别人的号登录(腾讯视频为什么不能投屏了)

    腾讯视频为什么不能用别人的号登录(腾讯视频为什么不能投屏了)

  • 为什么腾讯会议检测不到摄像头(为什么腾讯会议不能用蓝牙耳机)

    为什么腾讯会议检测不到摄像头(为什么腾讯会议不能用蓝牙耳机)

  • 华为p40pro和华为nova7pro有什么区别(华为p40pro和华为p50pro哪个好)

    华为p40pro和华为nova7pro有什么区别(华为p40pro和华为p50pro哪个好)

  • 手环nfc功能是什么意思(手环的nfc功能怎么用)

    手环nfc功能是什么意思(手环的nfc功能怎么用)

  • 缓存数据删除了会怎样(删除了缓存内容还可以恢复吗)

    缓存数据删除了会怎样(删除了缓存内容还可以恢复吗)

  • 华为mate9pro是双扬声器吗(华为mate9pro双系统怎么设置)

    华为mate9pro是双扬声器吗(华为mate9pro双系统怎么设置)

  • 新iphone8p充电充多久(新买的苹果8p充电慢是怎么回事)

    新iphone8p充电充多久(新买的苹果8p充电慢是怎么回事)

  • 小米8支持4g 吗(小米8支持五g吗)

    小米8支持4g 吗(小米8支持五g吗)

  • nfc芯片是什么意思(nfc芯片工作原理)

    nfc芯片是什么意思(nfc芯片工作原理)

  • 苹果6删掉播客影响吗(苹果播客怎么删除)

    苹果6删掉播客影响吗(苹果播客怎么删除)

  • 在qq音乐里怎么下载歌曲到u盘里(在qq音乐里怎么查看听歌总时间)

    在qq音乐里怎么下载歌曲到u盘里(在qq音乐里怎么查看听歌总时间)

  • 淘宝主题怎么换成默认(淘宝在哪儿换主题)

    淘宝主题怎么换成默认(淘宝在哪儿换主题)

  • 探探真实头像认证会显示出来吗(探探真实头像认证是人工审核吗)

    探探真实头像认证会显示出来吗(探探真实头像认证是人工审核吗)

  • ipad需要关机充电吗(ipad需要关机才能充电进去)

    ipad需要关机充电吗(ipad需要关机才能充电进去)

  • flash动画导出mp4格式方法(flash动画导出视频有水印吗)

    flash动画导出mp4格式方法(flash动画导出视频有水印吗)

  • Win11正开发新功能:可直接通过任务栏调整音量(win10开发工具在哪)

    Win11正开发新功能:可直接通过任务栏调整音量(win10开发工具在哪)

  • 游戏显卡怎么选?玩游戏选择什么样的显卡比较(显卡性能排行榜2023)

    游戏显卡怎么选?玩游戏选择什么样的显卡比较(显卡性能排行榜2023)

  • 爱人老公有外遇怎么办(我老公有外遇了,我很爱他,我该怎么办)

    爱人老公有外遇怎么办(我老公有外遇了,我很爱他,我该怎么办)

  • 怎么找高新技术企业的数据
  • 工资走账是什么意思
  • 对外捐赠固定资产属于营业外支出吗
  • 如何判断固定资产资本化还是费用化
  • 水电费进项税额怎么抵扣
  • 应付账款尾差怎么算
  • 融资租赁如何确认收入
  • 规划设计合同需要缴纳印花税吗为什么
  • 季末资产总额填错了要紧吗
  • 佣金可以入账吗
  • 辅导期一般纳税人什么意思
  • 可转换债券发行主体
  • 冬虫夏草开票什么税率
  • 非增值税应税项目有哪些2023
  • 未取得发票列支成本违反法律
  • 劳务发票个人所得税计算器
  • 定额发票报销需要明细吗
  • 公司的钱怎么提现
  • 环保税是甲方交的吗
  • 预估成本怎么冲回
  • 删除所有没有销售业绩的员工记录
  • 一般人企业所得税怎么算
  • 应收账款贷方余额怎么调平
  • 福利费进行税额转出
  • bios密码忘记了怎么清除,放电不行
  • 浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践
  • 以专利权出资,能否使用专利权
  • 销售费用中业务费包括哪些
  • 安装prophet
  • uniapp怎么运行到手机模拟器
  • 转让旧设备
  • php操作文件的常用函数
  • javascript移动鼠标
  • 浅析Yii2集成富文本编辑器redactor实例教程
  • 网络模型参数方法
  • 全同态加密代码
  • 红字冲销的增值税发票怎么处理
  • 帝国cms适合建什么站
  • 金蝶本月金额公式
  • 简易计税是否可以享受即征即退
  • 如何计提增值税销项税额
  • 帝国cms移动端
  • 财务应付
  • 发票验真伪需要盖章吗
  • 工会经费支出实施细则
  • 应付账款发生坏账怎么办
  • 存货跌价准备确认
  • 租赁个人房屋租金怎么算
  • 房屋出租简易计税进项税额需要转出么
  • 房地产采取按揭销售的,其销售的入账时间为
  • 行政单位应缴预算款原则上按月缴清
  • 外购货物用于促销的账务处理
  • 长期待摊费用进项税分录
  • 融资租赁租金会计科目
  • 委托加工物资核算
  • 生产企业电费怎么做账
  • 一般纳税人车辆租赁费的税率是多少
  • 发票丢失了可以用复印件加盖发票章入账吗
  • 研发成功后的产品出售如何处理
  • 会计计量属性主要包括()
  • 一般什么是差旅费呢
  • 最新职工福利费列支范围
  • sql server 用法
  • hyper-v以后安装操作系统
  • win7桌面图标无法拖到任务栏
  • winspool.drv病毒
  • 为什么好不容易瘦了两斤,两天吃好了又上来了?
  • linux挂载步骤
  • linux ssh安装包
  • 免打扰模式在哪关
  • win8功能大全介绍
  • Win10 Mobile10586.122更新了哪些内容?更新内容大全汇总
  • unity lightmap uv
  • javascript到c
  • js显示nan
  • 简单的jquery插件实例
  • js对象用法
  • Python第三方库的常见安装方法有
  • 办理跨区域事项报验
  • 国外寄回来的奶粉被海关查到剪开,快递公司怎么处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设