位置: IT常识 - 正文

Vue使用高德地图选点定位搜索定位功能实现(vue使用高德地图闪白屏)

编辑:rootadmin
这篇文章主要介绍了Vue使用高德地图选点定位搜索定位功能,文中给大家提到了常见问题解决方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 目录

推荐整理分享Vue使用高德地图选点定位搜索定位功能实现(vue使用高德地图闪白屏),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue使用高德地图js平移动画卡顿,vue使用高德地图离线版,vue使用高德地图获取定位苹果手机为获取权限,vue使用高德地图白屏,vue使用高德地图标记位置,vue使用高德地图离线版,vue使用高德地图js平移动画卡顿,vue使用高德地图离线版,内容如对您有帮助,希望把文章链接给更多的朋友!

一、申请高德地图的使用密钥key。二、安装依赖。三、使用。四、常见问题。

项目下载:

高德地图测试demo,高德地图测试demo-Node.js文档

效果图:

一、申请高德地图的使用密钥key。

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

Vue使用高德地图选点定位搜索定位功能实现(vue使用高德地图闪白屏)

在高德地图控制台里面“我的应用”中创建应用,并添加key就可以拿到密钥key和安全密钥了。

二、安装依赖。npm install -S vue-amap三、使用。

main.js引入依赖。

import VueAMap from 'vue-amap'Vue.use(VueAMap);// 初始化vue-amapVueAMap.initAMapApiLoader({key: '你的key',// 高德的key// 插件集合plugin: ['AMap.CircleEditor',// 圆形编辑器插件"AMap.Geolocation", // 定位控件,用来获取和展示用户主机所在的经纬度位置"AMap.Geocoder", // 地理编码与逆地理编码服务,用于地址描述与坐标间的相互转换"AMap.Autocomplete","AMap.PlaceSearch","AMap.CitySearch",],// 高德 sdk 版本,默认为 1.4.4v: '1.4.4'});//高德的安全密钥window._AMapSecurityConfig = {securityJsCode:'你的安全密钥',}

封装组件:aliMap.vue

<template><div><div><div><!-- //搜索框 --><el-amap-search-box:search-option="searchOption":on-search-result="onSearchResult"/><!-- 地图 --><el-amapclass="amap-box":zoom="amap.zoom":center="amap.center":plugin="amap.plugin":events="amap.events"><!-- 当前位置图标 --><el-amap-markerv-for="(marker, index) in amap.markers":key="'marker' + index":position="marker.position"/><!-- 位置名称显示 --><el-amap-textv-for="(marker, index) in amap.markers":key="'text' + index":text="marker.text":offset="marker.offset":position="marker.position"/></el-amap></div></div></div></template><script>//初始数据function getFormData() {return {lat: "39.909186",lon: "116.39746",orgAddr: "天安门",province: "",city: "",district: "",};}export default {name: "Map",data() {const vm = this;return {// form对象dataForm: getFormData(),// 地图搜索对象searchOption: {city: "全国",citylimit: true,},lng: 0,lat: 0,// 地图对象amap: {zoom: 16,center: [116.319802, 39.98294],events: {// 点击获取地址的数据click(e) {const { lng, lat } = e.lnglat;vm.dataForm.lon = lng;vm.dataForm.lat = lat;// 这里通过高德 SDK 完成。var geocoder = new AMap.Geocoder({radius: 100,extensions: "all",});geocoder.getAddress([lng, lat], function (status, result) {if (status === "complete" && result.info === "OK") {if (result && result.regeocode) {console.log("点击获取地址的数据", result);vm.dataForm.orgAddr = result.regeocode.formattedAddress;vm.dataForm.province = result.regeocode.addressComponent.province;vm.dataForm.city = result.regeocode.addressComponent.city;vm.dataForm.district = result.regeocode.addressComponent.district;vm.dataForm.lat = lat ? lat.toString() : "";vm.dataForm.lon = lng ? lng.toString() : "";vm.amap.markers = [];const obj = {position: [lng, lat],text: result.regeocode.formattedAddress,offset: [0, 30],};vm.amap.markers.push(obj);vm.sure();}}});vm.$nextTick();},},plugin: [{// 定位pName: "Geolocation",events: {init(o) {// o是高德地图定位插件实例o.getCurrentPosition((status, result) => {console.log("定位:", result);if (result && result.position) {// 设置经度vm.lng = result.position.lng;// 设置维度vm.lat = result.position.lat;// 设置坐标vm.amap.center = [vm.lng, vm.lat];let op = {position: [vm.lng, vm.lat],text: result.formattedAddress,offset: [0, 30],};vm.amap.markers.push(op);// 页面渲染好后vm.$nextTick();}});},},},],//markers: [],},};},created() {},methods: {// 地图搜索回调onSearchResult(pois) {const vm = this;vm.amap.markers = [];let latSum = 0;let lngSum = 0;console.log("地图回调", pois);if (pois.length > 0) {pois.forEach((poi, index) => {const { lng, lat } = poi;if (index === 0) {lngSum = lng;latSum = lat;const obj = {position: [poi.lng, poi.lat],text: poi.name,offset: [0, 30],};vm.amap.markers.push(obj);console.log("地图搜索回调", poi);vm.dataForm.orgAddr = poi.name;vm.dataForm.lat = poi.lat ? poi.lat.toString() : "";vm.dataForm.lon = poi.lng ? poi.lng.toString() : "";}});vm.amap.center = [lngSum, latSum];}},// 提交方法sure() {const vm = this;this.$emit("updateLocation", vm.dataForm);},},};</script><style lang="scss" scoped>.amap-box {height: 44vh;height: calc(100vh - 45px);}.el-vue-search-box-container {// top: 45px;width: 100% !important;}.search-box {position: absolute;z-index: 5;width: 70%;left: 13%;top: 10px;height: 30px;}.search-box .el-input {float: left;width: 100%;height: 100%;box-sizing: border-box;border-radius: 0 7px 7px 0;outline: none;position: relative;}.search-box .el-button {position: absolute;right: 0;top: 1px;width: 20%;background: #38a28a;border-radius: 0 7px 7px 0;border: none;color: #fff;outline: none;}.tip-box {text-align: center;width: 100%;position: absolute;top: 35px;padding: 10px 0;background-color: #fff;opacity: 0.8;}</style>

使用组件:

<template><div><Map ref="map" @updateLocation="updateLocation" /></div></template><script>import Map from '@/components/aliMap.vue'export default {name: '',props: {},components: {Map},data () {return {}},mounted() {},methods: {updateLocation(Addr) {console.log('位置信息:',Addr)}},}</script><style scoped lang='scss'></style>四、常见问题。

经常有人说不显示,麻烦自己检查一下控制台报错。

1.css预处理器不一样。

我的代码用的是scss,使用时请根据自己项目使用的情况(scss或less,也可以将css预处理器删除了)进行修改。

2.是否修改成自己的高德地图key?

3.展示地图的dom的容器是否存在大小,是否显示?

4.高德地图依赖是否一致?

第三方依赖经常出现修改api的情况,如果控制台报错的是某个变量函数未定义或找不到,多半是依赖的版本不一致造成的,建议安装指定版本。

5.部分网友还把百度地图和高德地图混入使用。

到此这篇关于Vue使用高德地图选点定位搜索定位的文章就介绍到这了,更多相关vue高德地图定位内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

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

上一篇:python列表的创建和存放(python列表的创建和操作)

下一篇:帝国CMS自动加图片水印的方法(帝国cms自动推送插件)

  • 网易邮箱修改密码在哪里(网易邮箱修改密码后还是无法登陆)

    网易邮箱修改密码在哪里(网易邮箱修改密码后还是无法登陆)

  • 萤石云视频没有回放怎么设置(萤石云视频没有麦克风)

    萤石云视频没有回放怎么设置(萤石云视频没有麦克风)

  • 微信实名认证在哪里改(微信实名认证在哪里查看)

    微信实名认证在哪里改(微信实名认证在哪里查看)

  • 节奏大师怎么玩(节奏大师怎么玩分高)

    节奏大师怎么玩(节奏大师怎么玩分高)

  • 华为耳机freebuds3如何挂电话(华为耳机freebuds3怎么连接苹果手机)

    华为耳机freebuds3如何挂电话(华为耳机freebuds3怎么连接苹果手机)

  • 魅族16spro下巴多宽(魅族16t下巴)

    魅族16spro下巴多宽(魅族16t下巴)

  • WPS文本中的横线怎么添加上去了(wps文本中的横线怎么弄)

    WPS文本中的横线怎么添加上去了(wps文本中的横线怎么弄)

  • 微信可见的朋友会有提示吗(微信可见的朋友可以改吗)

    微信可见的朋友会有提示吗(微信可见的朋友可以改吗)

  • 黑鲨手机强制恢复出厂(黑鲨手机强制重启方法)

    黑鲨手机强制恢复出厂(黑鲨手机强制重启方法)

  • 抖音看相关功能(抖音相关功能介绍)

    抖音看相关功能(抖音相关功能介绍)

  • 打印机三角符号闪烁是什么原因(打印机三角符号和彩色墨水闪烁是什么原因)

    打印机三角符号闪烁是什么原因(打印机三角符号和彩色墨水闪烁是什么原因)

  • 耳机rl是什么意思(耳机上的r l是什么意思)

    耳机rl是什么意思(耳机上的r l是什么意思)

  • oppowatch支持微信回复吗(oppowatch支持微信儿童吗)

    oppowatch支持微信回复吗(oppowatch支持微信儿童吗)

  • 网易音乐关闭封面旋转(怎么关闭网易音乐人)

    网易音乐关闭封面旋转(怎么关闭网易音乐人)

  • 苹果7死机屏幕无反应(苹果死机屏幕无反应什么原因)

    苹果7死机屏幕无反应(苹果死机屏幕无反应什么原因)

  • iphone11信号不好怎么解决(iphone11信号不好可以换天线)

    iphone11信号不好怎么解决(iphone11信号不好可以换天线)

  • 小米5sp支持多少w快充(小米5sp支持miui12)

    小米5sp支持多少w快充(小米5sp支持miui12)

  • word文档怎么筛选数据(word文档怎么筛选相同的文字)

    word文档怎么筛选数据(word文档怎么筛选相同的文字)

  • vivoy85a出厂设置在哪(vivo y85出厂设置)

    vivoy85a出厂设置在哪(vivo y85出厂设置)

  • 手机怎样安装小爱同学(手机怎样安装小区车杆)

    手机怎样安装小爱同学(手机怎样安装小区车杆)

  • 南阳东站在哪(南阳东站在哪接人)

    南阳东站在哪(南阳东站在哪接人)

  • 问卷星能看到填写人吗(问卷星能看到填写时间吗)

    问卷星能看到填写人吗(问卷星能看到填写时间吗)

  • win10诊断策略服务未运行(win10诊断策略服务未运行无法上网错误5)

    win10诊断策略服务未运行(win10诊断策略服务未运行无法上网错误5)

  • 苹果鼠标在win10上怎么设置滑轮(苹果鼠标在win10上怎么设置右键)

    苹果鼠标在win10上怎么设置滑轮(苹果鼠标在win10上怎么设置右键)

  • 君子兰的养殖方法和注意事项(君子兰图片)(君子兰的养殖方法)

    君子兰的养殖方法和注意事项(君子兰图片)(君子兰的养殖方法)

  • 税额怎么调整
  • 小规模纳税人利息收入增值税税率
  • 营业外收入汇算清缴需要调整吗
  • 三方合同怎么盖章
  • 公司三年零申报后注销
  • 工资结算汇总表会计科目
  • 城市维护建设税怎么做分录
  • 哪些收入减免所得税
  • 本月预缴税额怎么计算
  • 专利费代缴
  • 项目一次性奖励会计分录怎么处理
  • 有留抵税额会计分录
  • 出口发票税率开错了怎么办
  • 企业汇算清缴后税务局会不会查
  • 折价股权转让账务处理
  • 上年度所得税费用又退回来了,如何做账
  • 政府收费的目的是什么
  • 调整上年度多计提费用
  • 去年的发票可以红冲重新开具吗?
  • 怎么在bios中开启硬件虚拟化
  • 鸿蒙系统字体不太好看
  • 房产的评估增值属于土地增值税征税范围对吗
  • 收到发票如何写摘要
  • 资产减值损失汇算清缴需要调增嘛?
  • php密码加密和解密
  • 怎么冲财务费用
  • 关闭win10系统更新有什么后果
  • 解决中暑最有效方法
  • wordpress建网站详细教程
  • php 字节
  • 用php编写从大到小排序
  • tar压缩解压缩命令
  • 企业固定资产可以按照其价值和使用情况,确定采用某一
  • 发票明细太多怎么设置见清单
  • dedecms怎么更换模板
  • 开票服务名称可以自己添加吗
  • 支付给临时工的费用
  • 哪些人可以享受职业培训补贴
  • 企业所得税季报人数季度初值
  • 中国移动发票抬头开错了可以重开吗
  • 新入职员工什么时候发工资
  • 综合评价怎么改
  • Win10 64位安装个人版SQL2000图文教程
  • 物业代收代缴是什么意思
  • 研发费用如何进账
  • 小规模纳税人地方教育费附加税率
  • 税务发票金额可以增加吗?
  • 土地增值税应纳税额
  • 应交税费属于什么负债
  • 简易计税办法的有
  • 小规模纳税人发票怎么开
  • 公司开具电子发票是否取消纸质发票开具
  • 材料采购成本包括买价和采购费用
  • 哪些行为应作为证据
  • 旅行社的代订机票产品能报销吗
  • 企业建账可以处于哪几个阶段
  • mysql版本信息
  • 苹果os X El capitan无法更新了吗
  • fedora怎么用
  • Fedora Core 5.0 安装教程,菜鸟图文版(图文界面)
  • explorer.exe进程文件
  • Retina MacBook和10.10.3支持更快的NVMe SSD接口
  • mac与windows的使用区别
  • win8怎么设置
  • 服务器centos7
  • win10每周更新
  • win7的放大镜怎么关闭
  • 升级win10系统后鼠标键盘无法用什么原因
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • unity调用android方法
  • 用android做一个简单的软件
  • cocos2dx HelloWorld代码分析
  • jquery.multiselect多选下拉框实现代码
  • Android开发工具
  • 陕西税务局稽查处处长
  • 江苏省国家税务局
  • 注销发票怎么处理流程
  • 北京鼓楼医院网上挂号app
  • 电子社保卡怎么添加家人
  • 分红太多
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设