位置: 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)

  • 微信营销怎样定位?(微信营销定位安卓版下载)

    微信营销怎样定位?(微信营销定位安卓版下载)

  • windows版本电脑怎样进入安全模式啊(windows版本号大全)

    windows版本电脑怎样进入安全模式啊(windows版本号大全)

  • 苹果侧边按钮是什么(苹果手机左边第一个按键是什么)

    苹果侧边按钮是什么(苹果手机左边第一个按键是什么)

  • 抖音粉丝的星标是什么意思(抖音粉丝的星标图片)

    抖音粉丝的星标是什么意思(抖音粉丝的星标图片)

  • 怎么取消来电提醒功能(在哪里取消来电提醒)

    怎么取消来电提醒功能(在哪里取消来电提醒)

  • 微信夜间功能在哪里开启(微信夜间功能在哪)

    微信夜间功能在哪里开启(微信夜间功能在哪)

  • 手机镜像到电视怎么让电视画面全屏(手机镜像到电视画面很小)

    手机镜像到电视怎么让电视画面全屏(手机镜像到电视画面很小)

  • qq显示离开对方在干嘛(qq对某人显示离开)

    qq显示离开对方在干嘛(qq对某人显示离开)

  • mate30普通版有石墨烯散热吗(mate30普通版用的什么屏幕)

    mate30普通版有石墨烯散热吗(mate30普通版用的什么屏幕)

  • qq接触关系是什么意思(qq关系是什么)

    qq接触关系是什么意思(qq关系是什么)

  • 华为nova5pro怎么显示流量(华为nova5pro怎么取卡)

    华为nova5pro怎么显示流量(华为nova5pro怎么取卡)

  • 手机迅雷怎么下载不了(手机迅雷怎么下载)

    手机迅雷怎么下载不了(手机迅雷怎么下载)

  • 朋友圈分界线怎么弄(朋友圈分界线素材)

    朋友圈分界线怎么弄(朋友圈分界线素材)

  • 微信群被踢了有提示吗(微信群被踢了有提醒吗)

    微信群被踢了有提示吗(微信群被踢了有提醒吗)

  • airpods充电盒怎么关机(Airpods充电盒怎么拆)

    airpods充电盒怎么关机(Airpods充电盒怎么拆)

  • 佳能相机充电口在哪(佳能相机充电口盖)

    佳能相机充电口在哪(佳能相机充电口盖)

  • 天翼云电脑怎么注册(天翼云电脑怎么下载软件)

    天翼云电脑怎么注册(天翼云电脑怎么下载软件)

  • 闲鱼自提订单怎么处理(闲鱼自提订单怎么改收货地址)

    闲鱼自提订单怎么处理(闲鱼自提订单怎么改收货地址)

  • linux查看文件(linux查看文件属性)

    linux查看文件(linux查看文件属性)

  • 描述文件为什么一打开是空白(描述文件为什么要输入密码)

    描述文件为什么一打开是空白(描述文件为什么要输入密码)

  • 手机压缩包异常怎么办(手机压缩包异常怎么办rar)

    手机压缩包异常怎么办(手机压缩包异常怎么办rar)

  • dslstat.exe是什么进程  dslstat进程的作用是什么(ds file是干什么的)

    dslstat.exe是什么进程 dslstat进程的作用是什么(ds file是干什么的)

  • 猿创征文|Python-sklearn机器学习之旅:我的第一个机器学习实战项目(猿创征文,宝藏工具篇)

    猿创征文|Python-sklearn机器学习之旅:我的第一个机器学习实战项目(猿创征文,宝藏工具篇)

  • 分公司的企业所得税税率是多少
  • 财务软件进什么费用
  • 利息可以抵税是什么意思
  • 现金流量套期与什么无关
  • 单位买了一批空调怎么办
  • 实收资本变化的账务处理
  • 善意取得增值税专用发票企业所得税处理
  • 旧房转让土地增值税扣除项目
  • 没残值的固定资产有哪些
  • 办理产权证费用明细
  • 润滑油消费税征税环节
  • 未分配利润转增股本需要缴纳企业所得税吗
  • 话费发票入账
  • 受托委托加工物资成本包括什么
  • 月末收到一批b材料,结算凭证未到,估价50000
  • 实收资本未注明投资款
  • 增值税有没有定额抵扣
  • 合作保证金规定
  • 税前可以扣除的业务招待费怎么算
  • 未分配利润为什么不分配
  • 库存商品结转成本
  • 财务报表包括哪三大报表?(多选)
  • 闲置设备怎么处理
  • 以非现金资产清偿全部债务
  • PHP:pg_connect_poll()的用法_PostgreSQL函数
  • 鸟瞰视野
  • php怎么执行sql语句
  • 税款返还的会计处理方法
  • 低值易耗品现在还用吗
  • 前端框架源码
  • vscode插件vuter
  • 解决php程序运行问题
  • 没有公网ip如何实现外网访问路由器
  • 租赁费用增值税率
  • 大前端技术
  • 一阶段目标检测算法
  • 轮播图效果用css怎么实现
  • 残保金申报操作流程
  • 递延所得税资产和所得税费用的关系
  • mysql随机密码怎么看
  • 合伙企业需要申报哪些税
  • 工资总额借方和贷方的区别
  • 小规模纳税人可以开票吗?
  • 一般纳税人什么时候用简易计税
  • 值税多缴税款能退回来吗
  • 研发费用加计扣除新税收政策
  • 职工工资加计扣除
  • 长期应付款的会计编号
  • 月末本年利润借方余额表示什么
  • 以前年度损益调整
  • 非税收入一般缴款书查询
  • 离职员工未休完的年假如何支付
  • 公司筹建期间允许投标吗
  • 事业单位打款多久到账
  • Win7 64位旗舰版系统中实现照片的批量重命名
  • mac如何快速关闭程序
  • centos7.5切换图形界面
  • xwizard.exe是什么
  • winxp打开任务管理器的快捷键
  • Win7 64位纯净版无法安装第三方主题的可行破解方法
  • win10网卡驱动不正常连不上网怎么办
  • 无线和网络飞行模式
  • 全面了解自我,接纳和包容自我
  • android入门书
  • ftp命令操作
  • js拖拽div
  • shell脚本用法
  • vue组件用法
  • unity3d创建模型
  • jquery多级菜单
  • js设置延时执行
  • android DefaultHttpClient设置setCookieStore
  • FileUtils文件工具类
  • 深度定制Python的Flask框架开发环境的一些技巧总结
  • 完美实现碳排放自主抵消的工厂叫什么
  • 广东税务怎么查社保缴费明细
  • 湖北安徽是一个地方吗
  • 发票事业单位有税号吗
  • 地税局刚进去工资多少
  • 出售固定资产税收怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设