vue中使用腾讯地图 api逆地址解析 jsonp

本文介绍了如何在Vue.js项目中配置和使用腾讯地图API的逆地址解析功能。首先,详细说明了如何在lbs.qq.com上申请和管理Key。接着,通过安装vue-jsonp插件来解决跨域问题,并在Vue组件中调用逆地址解析API,展示获取和处理返回数据的过程。最后,给出了可能出现的错误解决方案及其实现效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、首先去申请一个key,可以在https://lbs.qq.com/这个网站里申请。打开是下图这个样子的。

在这里插入图片描述

2、点击登录,绑定一些信息,手机号之类的,随后点进开发者信息里,如下图

在这里插入图片描述

3、点击key管理,创建新密钥,填写相应信息即可

在这里插入图片描述

4、创建好了点击添加key

在这里插入图片描述

5、key 配置我这里是pc 所以我就选择了如下图

在这里插入图片描述

6、 保存好就生成了key

在这里插入图片描述

7、找到自己所需要的api 逆地址解析在这里

在这里插入图片描述

8、了解接口 及其所需要的参数

在这里插入图片描述

9、因为接口用到跨域我们这儿选择在vue中使用JSONP来解决

第一步 安装npm install vue-jsonp --save
第二步 引入 在main.js中

import VueJsonp from 'vue-jsonp'
Vue.use(VueJsonp)

如果出现一下错误 引入改为下列引入
import {VueJsonp} from ‘vue-jsonp’

在这里插入图片描述

第三步 页面使用

    getAreaCode() {
      this.$jsonp("https://apis.map.qq.com/ws/geocoder/v1/?", {
        location: `${this.scenicDetail.latitude},${this.scenicDetail.longitude}`, // 经纬度
        key: "写你的key",
        output: "jsonp" // output必须jsonp   不然会超时
      }).then(res => {
        console.log(res, "腾讯地图");
        this.areaCode = res.result.ad_info.adcode;
      });
    },

在这里插入图片描述

效果图

在这里插入图片描述

Vue.js 2 中集成腾讯地图 SDK,可以实现丰富的地图功能,包括搜索提示、区域搜索以及地址解析。以下是基本步骤: 1. **搜索提示(Autocomplete Search)**: - 首先,你需要在项目中引入腾讯地图 JavaScript API 和对应的组件库。 - 在 Vue 组件里,你可以使用 `TencentMap` 对象提供的 `search` 或者 `addSearchControl` 方法,设置关键词获取搜索结果。例如: ```javascript import T from '@tencentmap/tencentmap'; new T.Map({ id: 'map', zoom: 10, center: [116.404, 39.915], // 北京坐标 }).addSearchControl((params) => { // 设置搜索控件并监听输入事件 params.oninput = (value) => { this.searchQuery = value; this.getSearchResults(value); }; }); ``` - 当用户输入时,会触发 `getSearchResults` 函数来处理搜索请求。 2. **区域搜索(Geocode Search)**: - 可以使用 `geocode` 方法,传入地址字符串获取地理位置信息: ```javascript this.tencentMap.geocode({ address: searchKeyword }, (result) => { if (result.regeocode && result.regeocode.addressComponent) { console.log(result.regeocode.formattedAddress); } }); ``` 3. **地址解析(Reverse Geocoding)**: - 要将经纬度转换为地址信息,可以使用 `reverseGeoCode` 方法: ```javascript this.tencentMap.reverseGeoCode({ location: [longitude, latitude], }, (result) => { if (result.regeocode && result.regeocode.addressComponent) { console.log(result.regeocode.formattedAddress); } }); ``` 请注意,以上示例需要在有网络环境的情况下运行,并且确保已经按照腾讯地图开发者文档设置了有效的 API Key。关于详细的配置和使用示例,请参考腾讯地图官方文档:https://developers.qq.com/map/api/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值