vue 調取騰訊webService API遇到跨域使用 jsonp
阿新 • • 發佈:2019-01-09
今天hr給提了一個需求,外出打卡不僅要地理座標還要有地理位置,經過調研選擇了騰訊API。
開發時發現,vue打包上線時遇到跨域問題,檢視騰訊api文件建議使用jsonp。
1.安裝jsonp
npm install vue-jsonp
2.main.js 引入
騰訊位置服務 WebServiceAPI
import Vue from 'vue'
import VueJsonp from 'vue-jsonp'
Vue.use(VueJsonp)
3.舉個例子:逆地址解析(座標轉位置資訊)
methods:{
getAddresss(lat,lng){
const KEY =XXXXXXXXXXXXXX; //key 祕鑰自己申請
let url = 'https://apis.map.qq.com/ws/geocoder/v1?&poi_options=address_format=short&get_poi=0';
let locationdata = lat+','+lng //緯度,經度
this.$jsonp(url,{
key:KEY,
callbackName: 'QQmap',
output:'jsonp',
location: locationdata
})
.then(json => {
let address = json.result.address;
console.log(address) //附近街道地址資訊
})
.catch(err => {
console.log(err)
})
}
}