uni-app中使⽤⼩程序第三⽅SDK及资源汇总
获取SDK
APP:然后填写app包名,申请原⽣sdk的appkey信息,但不需要下载原⽣sdk。注意:App侧在Android中使⽤定位,或者Android、iOS使⽤地图,仍然需要同时向⾼德申请原⽣sdk的key信息,填写在manifest的app sdk配置中。
新建⼀个 uni-app 项⽬,新建⼀个 common ⽬录,然后将前⾯下载得到的 amap-wx.js 的⽂件复制进去。
Tip:这个 common ⽬录只是举例,并⾮强制约定。但是,不要放在 static ⽬录下。
引⼊SDK
新建的 uni-app 默认会有⼀个 index 页,在 index.vue 中,引⼊⾼德⼩程序 SDK。
import amap from'../../common/amap-wx.js';
export default {
}
在 onLoad 中初始化⼀个⾼德⼩程序 SDK 的实例对象。
import amap from'../../common/amap-wx.js';
export default {
data() {
return {
amapPlugin: null,
key: '这⾥填写⾼德开放平台上申请的key'
}
},
onLoad() {
this.amapPlugin = new amap.AMapWX({
key: this.key
});
}
}
使⽤API
利⽤⾼德⼩程序 SDK,获取当前位置地址信息,以及当前位置的天⽓情况。
import amap from'../../common/amap-wx.js';
export default {
data() {
return {
amapPlugin: null,
key: '⾼德key',如何制作app小程序
addressName: '',
weather: {
hasData: false,
data: []
}
}
},
onLoad() {
this.amapPlugin = new amap.AMapWX({
key: this.key
});
},
methods: {
getRegeo() {
uni.showLoading({
title: '获取信息中'
});
Regeo({
success: (data) => {
console.log(data)
this.addressName = data[0].name;
uni.hideLoading();
}
});
}
}
}
其它 SDK
⾼德⼩程序 SDK 类似辅助⼯具库,使⽤时在需要的页⾯中引⼊即可。
还有⼀种 SDK ⽐如阿拉丁、诸葛IO等统计类的 SDK 需要全局引⼊。⼩程序是在 app.js 中引⼊。在 uni-app 中,则是在 main.js 中引⼊。⽰例
附件中有完整的⽰例,下载后解压拖进 HBuilderX,填写申请的⾼德 key 后即可运⾏体验。
如果⼤家在使⽤⼩程序的第三⽅ SDK 时遇到问题,请在社区单独发帖描述清楚问题,并⼀定附上项⽬源码,⽅便我们测试,感谢配合。
⼩程序内使⽤⾼德地图,为什么只有在调试状态下才能正常显⽰地图,发布后不显⽰呢?
⼩程序⾥⾯还牵扯⼀个授权问题
getAuthorizeInfo(a = "scope.userLocation"){ //1. uniapp弹窗弹出获取授权(地理,个⼈信息等授权信息)弹窗
var _this = this;
uni.authorize({
scope: a,
success() { //1.1 允许授权
_Regeo();
},
fail(){ //1.2 拒绝授权
console.log("你拒绝了授权,⽆法获得周边信息")
}
})
},
// ⾼德定位
getRegeo() {
uni.showLoading({
title: '获取信息中'
});
Regeo({
success: (data) => {
console.log(data)
// this.addressName = data[0].name;
this.addressName = data[0].wnship || data[0].regeocodeData.addressComponent.district;
uni.hideLoading();
}
});
},
isGetLocation(a = "scope.userLocation"){ // 3. 检查当前是否已经授权访问scope属性,参考下截图
var _this=this;
success(res) {
if (!res.authSetting[a]) { //3.1 每次进⼊程序判断当前是否获得授权,如果没有就去获得授权,如果获得授权,就直接获取当前地理位置
_AuthorizeInfo()
}else{
_LocationInfo()
}
}
});
},
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论