我正在使用uview+uniapp 开发公众号网页, 其中有根据经纬度跳转位置导航的需求,我用到了这个wx.openLocation接口
安卓系统中:一切正常能打开地图
IOS系统中:却报错签名有问题,但是刷新页面后再点击【立即导航】按钮就能正常跳转了
import img from '../../static/image/address.png';
import { MapLoader } from '../../common/utils.js';
const wx = require('jweixin-module');
export default {
data() {
return {
pageLoading: false,
latitude: 26.649295,
longitude: 102.252515,
mapContext: null
};
},
onLoad() {
console.warn(location.href, 'map:location.href')
MapLoader().then(() => {
this.$nextTick(function() {
this.initData();
})
})
},
methods: {
async initData () {
try{
this.pageLoading = true;
this.$u.showLoading();
await this.initWx();
await this.initMap();
}catch(e){
} finally {
this.$u.hideLoading();
this.pageLoading = false;
}
},
async initMap() {
const center = new TMap.LatLng(this.latitude, this.longitude)
const map = new TMap.Map(document.getElementById('map'), {
center: center,
zoom: 18.2,
pitch: 43.5,
rotation: 45
});
const markerLayer = new TMap.MultiMarker({
map: map,
styles: {
"myStyle": new TMap.MarkerStyle({
"width": 250,
"height": 50,
"src": '../../static/image/map_address.png',
"anchor": {
x: 110,
y: 10
}
})
},
geometries: [{
"id": "1",
"styleId": 'myStyle',
"position": new TMap.LatLng(this.latitude, this.longitude),
}, {
"id": "2",
"styleId": 'marker',
"position": new TMap.LatLng(this.latitude, this.longitude),
}]
});
},
async initWx() {
try{
const res = await this.$http.get('/WxApp/GetShareConfig', {
url: location.href,
});
const data = res.data;
await wx.config({
debug: data.debug, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: data.appId, // 必填,公众号的唯一标识
timestamp: data.timestamp , // 必填,生成签名的时间戳
nonceStr: data.nonceStr, // 必填,生成签名的随机串
signature: data.signature,// 必填,签名
jsApiList: data.jsApiList // 必填,需要使用的JS接口列表 ['openLocation']
});
}catch(e){
this.$u.toast(e.message)
}
},
openMap() {
const {latitude, longitude} = this;
wx.ready(function() {
wx.openLocation({
latitude: latitude, // 纬度,浮点数,范围为90 ~ -90
longitude: longitude, // 经度,浮点数,范围为180 ~ -180。
name: '防震减灾服务中心', // 位置名
address: '四川省凉山彝族自治州会理市G108(京昆线)', // 地址详情说明
scale: 15, // 地图缩放级别,整形值,范围从1~28。默认为最大
infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
});
})
}
}
}
会不会是 ios这边 获取 签名时机 有问题