位置: IT常识 - 正文

vue项目中使用高德地图(vue中使用gojs)

编辑:rootadmin
vue项目中使用高德地图

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

文章相关热门搜索词:vue 使用,vue 使用,vue高级技巧,vue在项目中怎么用的,vue高级技巧,vue在项目中怎么用的,vue 高级用法,vue 高级用法,内容如对您有帮助,希望把文章链接给更多的朋友!

最近做的项目中有个地图选择的功能,如下图所示:

所以在此记录下使用方法,望各位大神指导

我的应用 | 高德控制台第一步:去高德官网去创建一个属于自己的地图应用 (得到key和秘钥)我的应用 | 高德控制台

 这是添加的方式:

vue项目中使用高德地图(vue中使用gojs)

准备-入门-教程-地图 JS API | 高德地图API

第二步:获取到属于自己的key和秘钥后,下载地图高德:npm install vue-amap --save 

第三步:在main.js中导入 

VueAMap.initAMapApiLoader({ key: '你申请的key', plugin: [ 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PlaceSearch', 'AMap.Geolocation', 'AMap.Geocoder', 'AMap.DrivingPolicy', 'AMap.Driving', "AMap.Autocomplete", "AMap.PolyEditor", "AMap.CircleEditor", ], v: '1.4.4', uiVersion: '1.0',})

这里的key是你申请的

第四步:在index.html页面头部 添加秘钥

​​​​​​​​​​​​​​

<script type="text/javascript"> window._AMapSecurityConfig = { securityJsCode: "你申请的秘钥", } </script>

 以上步骤完成后,就可以去你对应的页面中使用了

因为我是写的一个组件,所以大家根据自己的情况 

我的组件完整代码:

<template> <div class="container"> <div class="search-box"> <el-row> <el-col :span="16"> <el-input v-model="searchKey" id="search" placeholder="请输入地址信息"></el-input> </el-col> <el-col :span="6"> <el-button type="success" plain @click="searchByHand" style="margin-left:20px">搜索位置</el-button> </el-col> </el-row> <div class="tip-box" id="searchTip"></div> </div> <el-amap class="amap-box" :amap-manager="amapManager" :vid="'amap-vue'" :zoom="zoom" :plugin="plugin" :center="center" :events="events"> <!-- 标记 --> <el-amap-marker v-for="(marker, index) in markers" :position="marker" :key="index"></el-amap-marker> </el-amap> </div></template><script>import { AMapManager, lazyAMapApiLoaderInstance } from 'vue-amap'let amapManager = new AMapManager()export default { data() { let self = this return { address: null, searchKey: '', amapManager, markers: [], searchOption: { city: '全国', citylimit: true }, center: [108.872249, 34.33328], zoom: 10, lng: 0, lat: 0, loaded: false, markerEvent: { click(e) { // console.log(e); } }, mapInfo: { lng: '', lat: '', mapText: '' }, events: { init() { lazyAMapApiLoaderInstance.load().then(() => { self.initSearch() }) }, // 点击获取地址的数据 click(e) { self.markers = [] let { lng, lat } = e.lnglat self.lng = lng self.lat = lat self.center = [lng, lat] self.markers.push([lng, lat]) // 这里通过高德 SDK 完成。 let geocoder = new AMap.Geocoder({ radius: 1000, extensions: 'all' }) geocoder.getAddress([lng, lat], function (status, result) {//点击地图显示位置信息 if (status === 'complete' && result.info === 'OK') { if (result && result.regeocode) { if (result.regeocode.crosses.length > 0) { self.mapInfo.lng = result.regeocode.crosses[0].location.lng self.mapInfo.lat = result.regeocode.crosses[0].location.lat } if (result.regeocode.crosses.length > 0) { self.mapInfo.lng = result.regeocode.pois[0].location.lng self.mapInfo.lat = result.regeocode.pois[0].location.lat } self.mapInfo.mapText = result.regeocode.formattedAddress // console.log('地图组件中点击选中的地址为',self.mapInfo) if (self.mapInfo.lng !== '' && self.mapInfo.lat !== '') { self.$store.state.addersInfo = JSON.stringify(self.mapInfo) } console.log(self.lng, self.lat, "33333333333333333") self.address = result.regeocode.formattedAddress self.searchKey = result.regeocode.formattedAddress self.$nextTick() } } }) } }, // 一些工具插件 plugin: [ { // 定位 pName: 'Geolocation', events: { init(o) { // o是高德地图定位插件实例 o.getCurrentPosition((status, result) => { if (result && result.position) { // 设置经度 self.lng = result.position.lng // 设置维度 self.lat = result.position.lat // 设置坐标 self.center = [self.lng, self.lat] self.markers.push([self.lng, self.lat]) // load self.loaded = true // 页面渲染好后 self.$nextTick() } }) }, click(e) { // console.log(e); } } }, { // 工具栏 pName: 'ToolBar', events: { init(instance) { // console.log(instance); } } }, { // 鹰眼 pName: 'OverView', events: { init(instance) { // console.log(instance); } } }, { // 地图类型 pName: 'MapType', defaultType: 0, events: { init(instance) { // console.log(instance); } } }, { // 搜索 pName: 'PlaceSearch', events: { init(instance) { // console.log(instance) } } } ] } }, created() { this.searchKey = JSON.parse(this.$store.state.addersInfo).mapText; }, watch: { "$store.state.addersInfo": { handler: function (newVal, oldVal) { this.searchKey = JSON.parse(newVal).mapText; }, deep : true }, searchKey(addersText) { if (addersText == '') { this.$store.state.addersInfo = '' } } }, methods: { // submitAddress() {//确定事件 // console.log('经纬度', this.center) // console.log('地址', this.address) // this.mapInfo.lng = this.center[0] // this.mapInfo.lat = this.center[1] // this.mapInfo.mapText = this.address // // console.log(this.mapInfo) // this.$store.state.address = JSON.stringify(this.mapInfo) // }, initSearch() { let vm = this let map = this.amapManager.getMap() AMapUI.loadUI(['misc/PoiPicker'], function (PoiPicker) { var poiPicker = new PoiPicker({ input: 'search', placeSearchOptions: { map: map, pageSize: 10 }, suggestContainer: 'searchTip', searchResultsContainer: 'searchTip' }) console.log(poiPicker, "***********") vm.poiPicker = poiPicker // 监听poi选中信息 poiPicker.on('poiPicked', function (poiResult) { let source = poiResult.source let poi = poiResult.item if (source !== 'search') { poiPicker.searchByKeyword(poi.name) } else { poiPicker.clearSearchResults() vm.markers = [] let lng = poi.location.lng let lat = poi.location.lat let address = poi.cityname + poi.adname + poi.name vm.center = [lng, lat] // console.log(vm.center) vm.markers.push([lng, lat]) vm.lng = lng vm.lat = lat vm.address = address vm.searchKey = address // console.log(vm.address) vm.mapInfo.lng = lng vm.mapInfo.lat = lat vm.mapInfo.mapText = vm.address // console.log(vm.mapInfo) vm.$store.state.addersInfo = JSON.stringify(vm.mapInfo) } }) }) }, searchByHand() {//点击搜索事件 if (this.searchKey !== '') { this.searchKey = JSON.parse(this.$store.state.addersInfo).mapText; this.poiPicker.searchByKeyword(this.searchKey) } } },}</script><style lang="scss" scoped>.container { width: 100%; height: 500px;}.search-box { position: absolute; z-index: 5; width: 100%; left: 13%; top: 10px; height: 30px; border: none !important;}.tip-box { width: 73%; max-height: 260px; position: absolute; top: 42px; overflow-y: auto; background-color: #fff;}</style>

里面都有对应的注释

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

上一篇:pavupg.exe是什么进程 pavupg进程查询(pnaico.exe是什么软件)

下一篇:ReadTimeoutError: HTTPSConnectionPool(host=‘cdn-lfs.huggingface.co‘, port=443)

  • 苹果6s分屏功能怎么用(苹果6s手机分屏功能)

    苹果6s分屏功能怎么用(苹果6s手机分屏功能)

  • 快手为什么不能一次性点完所有作品(快手为什么不能搜索视频)

    快手为什么不能一次性点完所有作品(快手为什么不能搜索视频)

  • 怎么把视频打包成文件夹(怎么把视频打包发送)

    怎么把视频打包成文件夹(怎么把视频打包发送)

  • 磁盘阵列和ssd哪个快(ssd磁盘阵列是什么意思)

    磁盘阵列和ssd哪个快(ssd磁盘阵列是什么意思)

  • 闲鱼拍下多久必须发货(闲鱼拍下几天之内必须发货?)

    闲鱼拍下多久必须发货(闲鱼拍下几天之内必须发货?)

  • 百兆口最大网速多少(百兆网口有多快)

    百兆口最大网速多少(百兆网口有多快)

  • 华为子路由器一直闪(华为子路由器一直升级不成功)

    华为子路由器一直闪(华为子路由器一直升级不成功)

  • 为什么手机卡显示无卡(为什么手机卡显示2g)

    为什么手机卡显示无卡(为什么手机卡显示2g)

  • 快手粉丝团等级规则(快手粉丝团等级划分)

    快手粉丝团等级规则(快手粉丝团等级划分)

  • 买家怎么看卖家下架的宝贝(买家怎么看卖家下架的宝贝评论)

    买家怎么看卖家下架的宝贝(买家怎么看卖家下架的宝贝评论)

  • 抖音粉丝牌是什么意思(抖音粉丝牌是什么)

    抖音粉丝牌是什么意思(抖音粉丝牌是什么)

  • 华为云备份怎么删除(华为云备份怎么恢复微信聊天记录)

    华为云备份怎么删除(华为云备份怎么恢复微信聊天记录)

  • gw格式文件怎么打开(gw格式怎么转换成pdf)

    gw格式文件怎么打开(gw格式怎么转换成pdf)

  • 快手被禁言了怎么办(快手被禁言了怎么办解封)

    快手被禁言了怎么办(快手被禁言了怎么办解封)

  • 无权拨打该号码是什么意思(无权拨打该号码是警察的号码)

    无权拨打该号码是什么意思(无权拨打该号码是警察的号码)

  • iphone8广角镜头在哪里(苹果8plus广角镜头)

    iphone8广角镜头在哪里(苹果8plus广角镜头)

  • 表格里的减法公式怎么设置(表格里的减法公式怎么设置出来)

    表格里的减法公式怎么设置(表格里的减法公式怎么设置出来)

  • 苹果x换屏幕就没有面容了吗(苹果x换过屏后出现失灵)

    苹果x换屏幕就没有面容了吗(苹果x换过屏后出现失灵)

  • 小米8怎么隐藏保存视频(小米8怎么隐藏照片)

    小米8怎么隐藏保存视频(小米8怎么隐藏照片)

  • cad怎么画任意多边形(cad如何绘制多条直线)

    cad怎么画任意多边形(cad如何绘制多条直线)

  • 手机迅雷限速怎么解除(手机迅雷限速怎么解除不了)

    手机迅雷限速怎么解除(手机迅雷限速怎么解除不了)

  • 电信光纤e蓝色灯一直亮(电信光纤e蓝色灯不亮)

    电信光纤e蓝色灯一直亮(电信光纤e蓝色灯不亮)

  • python-数据描述与分析(1)(数据结构—python语言描述)

    python-数据描述与分析(1)(数据结构—python语言描述)

  • 小规模纳税人减按1%政策文件
  • 个税所得税清缴
  • 企业年末要写财务报告吗
  • 支付宝过路费开票小程序
  • 银行代扣的社保怎么查询
  • 停工留薪期工资计算公式
  • 出口退税新旧申报
  • 工会专户收到职工福利经费会计处理怎么做?
  • 给员工发中秋福利
  • 提供应税服务营改增的应税服务不包括什么
  • 房地产开发预提费用
  • 红字发票信息单需要寄给对方吗
  • 电商刷单支付的佣金会计分录
  • 会计核算中利润包括哪些
  • 企业固定资产折旧费计入什么成本
  • 投资公司如何确定收入
  • 应付职工薪酬转入管理费用
  • 解除劳动关系取公积金
  • linux查看文件的权限
  • 如何给电脑重装系统教程
  • 个税这个月多交了下个月减回来
  • 不动产在建工程领用原材料的分录
  • 农产品收购发票使用范围
  • 文件错误会追究拟稿人吗
  • 鹤顶兰的养殖方法和管理
  • netty websocket心跳
  • php的了解
  • php操作mysql数据库
  • 审稿意见范例
  • web前端面试题最新
  • 代码简单图案
  • php调用java接口
  • 金蝶软件做帐流程
  • 合同资产要结转增值税吗
  • java中file的用法
  • python__get__
  • RedHat6.5/CentOS6.5安装Mysql5.7.20的教程详解
  • dev怎么保存项目
  • 文化传媒有限公司英文
  • SQL Server UPDATE语句的用法详解
  • 企业没收入也要交税吗
  • 一般纳税人收取停车费的税率
  • 什么公司可以核定企业所得税
  • 固定资产减值核销
  • 4s店交首付分期多久
  • 工程安装公司注册条件
  • 住房公积金的账户状态是封存是什么意思
  • 我方税费差额赔偿的时效
  • 汽车固定资产清理怎么交税
  • 增值税发票超过多久不能抵扣
  • 内部使用的收据可以做原始凭证吗
  • 一般纳税人购进税控设备如何抵扣
  • 加计抵减附加税怎么算
  • 定期存款到期转存利息也转存吗
  • 合作社开具免税发票流程
  • 设置会计账簿应当遵循的基本原则有
  • 通过SQL绘制杨辉三角的实现方法介绍
  • xp系统怎么创建本地连接2
  • 证书登录什么意思
  • spybuddy.exe - spybuddy是什么进程
  • window7电源设置
  • rtc resume
  • ssh客户端软件
  • linux在实际中的应用
  • w7开机界面
  • 安卓接入点
  • Extjs中DisplayField的日期或者数字格式化扩展
  • ext.grid.panel
  • shell脚本判断一个字符串是否为空
  • bootstrap 下拉按钮
  • pyqt用法
  • javascript中window.event事件用法详解
  • javascript中的107个基础知识收集整理 推荐
  • python 描述符类
  • jQuery插件ajaxfileupload.js实现上传文件
  • jquery的实现原理
  • 购物金怎么退换面额的
  • 进项税额转出影响所得税吗
  • 江西税务登记证查询官网
  • 郑州地方税务局网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设