uniapp 使用腾讯地图 H5端跨域解决方法

这篇博客介绍了在Vue项目中遇到腾讯地图SDK跨域问题的解决方案,通过引入vue-jsonp库来实现JSONP请求。首先通过npm安装vue-jsonp,然后在main.js中全局注册,最后在具体页面中调用uni.getLocation获取坐标,并使用$jsonp进行跨域请求获取详细地理位置信息。

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

问题

项目中使用腾讯地图sdk h5端出现跨域问题

解决方法

使用 jsonp 解决跨域

1.先安装 vue-jsonp

npm i --save vue-jsonp

2.再 main.js 中使用

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

3.在页面中使用

onReady() {
	uni.getLocation({
		success: res => {
			this.latitude = res.latitude
			this.longitude = res.longitude
			this.getUserLocation();
		}
	});
},

methods:{
	getUserLocation() {
			let vm = this;
			let locationObj = vm.latitude + ',' + vm.longitude;
			let url = 'https://apis.map.qq.com/ws/geocoder/v1?coord_type=5&get_poi=1&output=jsonp&poi_options=page_size=1;page_index=1';
			this.$jsonp(url, {
				key: '腾讯地图key',
				location: locationObj
			})
			.then(res => {
				console.log(res)
			})
			.catch(err => {
				console.log(err);
			});

		},
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值