1、申请key

天地图地图服务对所有用户开放。使用本组服务之前,需要申请Key

2、引入API

地图API是由JavaScript语言编写的,您在使用之前需要通过<script>标签将API引用到页面中:

<script src="http://api.tianditu.gov.cn/api?v=4.0&tk=您的密钥" type="text/javascript"></script>

在vue项目中,我们在public文件夹的index.html中引入天地图的api文件

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1.0"><script defer src="//static.gdzwfw.gov.cn/mhyy/browser-upgrade/index.js"></script><script type="text/javascript" src="http://api.tianditu.gov.cn/api?v=4.0&tk=你申请的key"></script></head><body><noscript><strong>We're sorry but aba-init-vue doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="root"></div></body>
</html>

3、在vue页面中,创建一个tiandiMap.vue页面,初始化地图,代码如下:

<template><div><div id="divwxMap" class="divwxMap" style="width: 100%;height: 580px;"></div><div style="margin-top:10px;width:100%"><label for="">选中的地址:</label><gd-inputstyle="width:88%"v-model="address"></gd-input></div></div>
</template><script type="text/javascript">import { mapActions } from 'vuex';export default {components: {},data () {return {wxMap: '',address: '',markerTool: '',addrResult: {},};},mounted () {this.initwxMap();},methods: {...mapActions(['getGeocoder',]),// 初始化天地图initwxMap () {// vue项目需要先声明 T = window.Tlet T = window.T;this.wxMap = new T.Map('divwxMap'); // div的id// 传参中心点经纬度,以及放大程度,最小1,最大18this.wxMap.centerAndZoom(new T.LngLat(113.86942, 35.30416), 18);var cp = new T.CoordinatePickup(this.wxMap, { callback: this.getLngLat });cp.addEvent();},getLngLat (lnglat) {let T = window.T;console.log('获取的经纬度');const x = lnglat.lng.toFixed(6);const y = lnglat.lat.toFixed(6);this.wxMap.clearOverLays(); // 清空原来的标注点let point = new T.LngLat(x, y);let marker = new T.Marker(point);this.wxMap.addOverLay(marker); // 添加标注点this.getGeocoderFun(x, y);},// 根据经纬度获取地址async getGeocoderFun (lon, lat) {this.$loading.show('查询中...');const query = {postStr: {lon,lat,ver: '1',},type: 'geocode',tk: '7b733691924fcd55d8724722172a0664',};try {const res = await this.getGeocoder({ query });this.$loading.hide();if (res.status === '0') {const result = res.result;this.address = result.formatted_address;this.addrResult = result;}}catch (e) {this.$loading.hide();}},getAddress () {return this.addrResult;},},};
</script><style lang="stylus" scoped>
</style>

效果:

在vue项目引入天地图,根据经纬度获取具体地址相关推荐

  1. VUE项目引入微信JSSDK 实现微信自定义分享

    VUE项目引入微信JSSDK 实现自定义分享 前端vue.后端php 问题:后端获取config参数所需的url 需要和请求自定义分享页面url一致 一.微信公众号后台添加 js安全域名(白名单) 二 ...

  2. vue项目引入CNZZ数据专家(方法汇总篇)

    vue项目引入CNZZ数据专家(方法汇总篇) 很多网站都有cnzz数据统计,用于分析网站页面受访情况. 今天就来备注一下开发经验: vue如何集成cnzz数据专家进行受访记录? 友盟+CNZZ官方文档 ...

  3. vue项目引入typescript(vue与ts混用)

    说明 为什么要在vue项目中使用ts? 新公司给了一个关于vue项目的需求,又由于ts是JavaScript的超集,强类型数据,组件化友好.故我选择在vue项目中引入ts. 下载typescript和 ...

  4. vue项目引入阿里巴巴矢量图标库 ——字体图标

    1. 打开阿里巴巴矢量图标库官网 iconfont-阿里巴巴矢量图标库 2. 下载图标步骤 (1) (2)  (3) (4) (5) (6)main.js 配置 引入assets中的图标路径 (7)页 ...

  5. 随笔-vue项目引入axios

    随笔-vue项目引入axios 本文参考链接: 一 安装axios依赖 npm install axios 二 引入axios 在main.js中引入,注意与很多第三方模块不同的是,axios不能使用 ...

  6. vue项目引入不符合ES6模块化标准的JS文件

    vue项目引入不符合ES6模块化标准的JS文件 实现方式 实现原理 实现方式 要引入的文件放在public目录下,在index.html中通过script标签引入 实现原理 参考vue官网–处理静态资 ...

  7. Vue项目引入Echarts可视化图表库教程踩坑

    Apache ECharts是一个基于 JavaScript 的开源可视化图表库,ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表. ...

  8. vue项目html引入css,vue项目引入自定义.css的样式文件

    ES6的引入方式: .vue文件中 css文件引入 @import "../assets/common/common.css";//自定义.css的样式路径 js文件的引入 在ma ...

  9. vue项目引入标签云动画js函数,不执行

    vue项目引入标签云动画js函数,数据重新渲染了,但是动画不执行了 rollTagCloud() {/* 3D标签云滚动函数*/const timer = setTimeout(() => {t ...

最新文章

  1. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置数据点抖动显示jitter)实战
  2. 2021年春季学期-信号与系统-第十二次作业参考答案-第一小题
  3. 前NASA工程师让钢琴开口说英文,还能自弹世界上最难曲目,快到冒烟
  4. 百度前端技术学院Task20 笔记
  5. Winsock 入门 判读主机字节序 示例
  6. 前端- jquery- 总结
  7. Cortex-M3的工作模式和特权级别
  8. hdu 3790 最短路径dijkstra(多重权值)
  9. python日历函数_python 怎么定义一个函数,输出日历
  10. dll已加载但找不到入口点DLLRegisterServer
  11. [html] HTML为什么要语义化?语义化有什么好处?
  12. html文件用safari打开方式,在html中打开(在Safari中)
  13. nyoj 78:圈水池 【凸包入门】
  14. 静态代码块 构造代码块 构造方法的执行顺序
  15. 缺少更新或刷新的键列信息_iPhone 12缺少的五个功能你会在意吗?
  16. 这10个idea小技巧,让我的开发效率提升了10倍
  17. Java中this关键字详解
  18. html特殊符号对照表空格,HTML 特殊符号编码对照表(1)
  19. 联想thinkpad E430c 重装系统之后无线连接显示红叉解决办法
  20. Windows/Windows Server 控制面板(Control Panel) 打开方式 通用

热门文章

  1. reactos操作系统实现(3)
  2. Unity创建2.5D地图 【1】
  3. NS版暗黑破坏神3金手指开发教程(3)
  4. 内网渗透系列之mimikatz的使用以及后门植入
  5. Android 集成微信支付和支付宝支付工具类
  6. Android9.0 SIM卡初始化---更新数据
  7. 轴承故障诊断-西储数据集-深度学习
  8. 大厂面试:求解集装箱港口翻箱问题的最短路径
  9. 哈工大网络安全实验四报告
  10. 教你如何收拾发短信的骗子们