位置: 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自动推送插件)

  • qq可能认识的人在哪里看(qq可能认识的人对方能看到我吗)

    qq可能认识的人在哪里看(qq可能认识的人对方能看到我吗)

  • 华为p40pro和p40有什么不同(华为p40pro跟p40)

    华为p40pro和p40有什么不同(华为p40pro跟p40)

  • win7 蓝屏(win7蓝屏怎么解决)

    win7 蓝屏(win7蓝屏怎么解决)

  • 菜鸟裹裹寄件损坏怎么理赔(菜鸟裹裹寄件损坏卖家拒收)

    菜鸟裹裹寄件损坏怎么理赔(菜鸟裹裹寄件损坏卖家拒收)

  • 微信如何删除视频号(微信如何删除视频号发布内容)

    微信如何删除视频号(微信如何删除视频号发布内容)

  • oppor9图案密码忘记了怎么办(oppor9手机图案密码忘记了怎么办)

    oppor9图案密码忘记了怎么办(oppor9手机图案密码忘记了怎么办)

  • e华为手环3e开机(华为手环3e开不了机怎么办)

    e华为手环3e开机(华为手环3e开不了机怎么办)

  • 红米有红外线功能吗(红米有红外线功能吗手机)

    红米有红外线功能吗(红米有红外线功能吗手机)

  • 抖音以前关注的人找回(抖音以前关注的取消了如何找到不知道抖音号)

    抖音以前关注的人找回(抖音以前关注的取消了如何找到不知道抖音号)

  • 腾讯实名认证超出限制(腾讯实名认证超过五次怎么办)

    腾讯实名认证超出限制(腾讯实名认证超过五次怎么办)

  • 苹果手机截不了屏是什么原因(苹果手机截不了屏)

    苹果手机截不了屏是什么原因(苹果手机截不了屏)

  • 手机自带音乐如何卸载(手机自带音乐如何关闭)

    手机自带音乐如何卸载(手机自带音乐如何关闭)

  • cd-rom驱动器是什么设备(cdrom驱动器是什么意思)

    cd-rom驱动器是什么设备(cdrom驱动器是什么意思)

  • 爱奇艺属于百度吗(爱奇艺属于百度系还是腾讯系)

    爱奇艺属于百度吗(爱奇艺属于百度系还是腾讯系)

  • 微信语音时怎么放音乐(微信语音时怎么音乐暂停)

    微信语音时怎么放音乐(微信语音时怎么音乐暂停)

  • 抖音能提现到微信吗(抖音能提现到微信吗怎么提现)

    抖音能提现到微信吗(抖音能提现到微信吗怎么提现)

  • ps怎么去除摩尔纹(ps怎样去除摩尔纹)

    ps怎么去除摩尔纹(ps怎样去除摩尔纹)

  • 抖音为什么闪退(抖音为什么闪退苹果手机)

    抖音为什么闪退(抖音为什么闪退苹果手机)

  • 苹果热线转人工怎么打(苹果热线电话人工服务时间)

    苹果热线转人工怎么打(苹果热线电话人工服务时间)

  • excel动态图表3种方法(动态excel图制作教程)

    excel动态图表3种方法(动态excel图制作教程)

  • 小度在家和1s的区别(小度在家1s和小度在家哪个好)

    小度在家和1s的区别(小度在家1s和小度在家哪个好)

  • cad鼠标不见了(cad鼠标不见了 黑屏怎么办)

    cad鼠标不见了(cad鼠标不见了 黑屏怎么办)

  • 爱奇艺为什么无法下载1080P(爱奇艺为什么无法播放)

    爱奇艺为什么无法下载1080P(爱奇艺为什么无法播放)

  • 如何在苹果账户设置页取消订阅服务(如何在苹果账户上充值)

    如何在苹果账户设置页取消订阅服务(如何在苹果账户上充值)

  • Homebrew mac 安装软件教程(mac上安装homebrew)

    Homebrew mac 安装软件教程(mac上安装homebrew)

  • 最新win11教育版激活密钥分享 附win11激活工具(winds10教育版)

    最新win11教育版激活密钥分享 附win11激活工具(winds10教育版)

  • layui-icon各种常用动态图标(layui iconfont)

    layui-icon各种常用动态图标(layui iconfont)

  • 《uni-app》表单组件-form表单(uni-app list)

    《uni-app》表单组件-form表单(uni-app list)

  • 帝国cms怎么加水印(帝国cms适合建什么站)

    帝国cms怎么加水印(帝国cms适合建什么站)

  • 净利润是指税前利润
  • 企业增值税怎么做账务处理
  • 清算组的性质
  • 未交增值税借方表示什么
  • 小规模差额申报怎么申报
  • 测距仪计入什么科目
  • 代订机票服务费可以抵扣进项吗
  • 农产品加工需要交税吗
  • 购进货物用于在建工程要交增值税吗
  • 转让生产指标的企业所得税
  • 企业职工遣散费标准
  • 医疗器械行业进销存软件
  • 银行开户时存入的现金怎么做账
  • 个人所得税免征项目有哪些
  • 小规模发票什么样子
  • 文体活动费用计入什么科目
  • 增值税优惠的二级明细科目
  • 领用原材料安装固定资产
  • 制造费用包括劳动保护费吗
  • 购买的样品怎么做账
  • 午餐补贴多少钱
  • 金融服务公司收取金融服务费
  • 小规模餐饮业怎样报税减免
  • 企业所得税法规定,企业购置并实际使用
  • 本地连接受限制无法连接
  • 房产契税如何计算2021年
  • 做事应该怎么做
  • 软件能否成为无线网
  • flash process
  • 混合成本的分解方法很多,通常有
  • 酒店预收款管理制度
  • 企业投资收益要交印花税吗
  • php图像
  • 乐观锁用法
  • 用友软件怎么删除已经建立的账套
  • 劳务公司成本核算方法选择什么
  • 社区居委会有营业执照吗
  • 供电企业接收用户资产
  • 微信小程序用电脑怎么打开
  • 固定资产折旧怎么做会计科目
  • 计提的教育经费可以税前扣除吗
  • 银行承兑汇票到期怎么兑现
  • mac怎么下载postman
  • 给员工发放礼品的祝福
  • 租车费开票属于哪个类别
  • sql row_number()over()
  • 个人所得税申请退税多久能到账
  • 个人所得税申报数
  • 报销单据粘贴单模板
  • 安装防伪税控系统的方法
  • 业务招待费文件
  • 客户重复付款了怎么礼貌回复
  • 车子报废车子怎么处理
  • jdbc取数据
  • mysql oracle和sqlserver分页查询实例解析
  • mysql基本教程
  • ubuntu系统中如何安装WiFi驱动
  • 如何更改win7
  • dropbox怎么在国内使用
  • linux使用yum
  • win8怎么打开cmd命令窗口?
  • pkjobs.exe - pkjobs是什么进程 有什么用
  • opengl做简单的模型
  • unity 技术
  • 简述matlab中控制系统的数学描述类型
  • Shell脚本中不同进制数据转换的例子(二进制、八进制、十六进制、base64)
  • javascript中br
  • 性能优化是什么
  • 大杀器歼35震撼首飞!中国空军正式踏入世界第一梯队
  • 什么绑定什么服务
  • jquery中动画效果方法
  • jquery中on
  • python 基础 教程
  • python中scipy.stats
  • 免征的增值税税额应计入营业外收入嘛
  • 国家税务总局政策法规司
  • 河南洛阳医疗保险电话
  • 长春市税务局电话号
  • 收到海关进口增值税专用缴款书怎么确定库存商品的金额
  • 高新企业人才落户北京
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设