公司要给企业微信做第三方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