公司要给企业微信做第三方H5页面
有个巡检功能要生成路线,小伙伴让我用JS-SDK的定位功能
于是我引入JS-SDK,参考网上的例子配置在微信开发者工具中进行公众号网页预览
结果是getLocation可以调用成功,startAutoLBS注册不到config的apiList里,onLocationChange找不到方法。
// 测试定位代码
wx.config({
beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: 'wxd2e8bc77fa9a03da', // 必填,企业微信的corpID,必须是本企业的corpID,不允许跨企业使用
timestamp: '1683185564', // 必填,生成签名的时间戳
nonceStr: 'test', // 必填,生成签名的随机串
signature: '7beb638b9a7f897e298f4f08a44a57e594440377',// 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: ['getLocation', 'startAutoLBS', 'onLocationChange'] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});
wx.ready(() => {
// 获取地理位置接口
wx.getLocation({
type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
success: function (res) {
var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
wxPositon.value.push([longitude, latitude])
wx.invoke('startAutoLBS', {
type: 'wgs84', // wgs84是gps坐标,gcj02是火星坐标
},
function (result) {
if (result.err_msg == "startAutoLBS:ok") { } else {
//错误处理
}
});
wx.onLocationChange();
}
})
});
官方回答在线引入这个 https://res.wx.qq.com/wwopen/js/jsapi/jweixin-1.0.0.js