收藏
回答

wx.getLocation报getLocation:unsupported type这是什么原因?

在小程序中使用webview组件,通过JS-SDK 调用wx.getLocation IOS 正常返回经纬度,安卓提示getLocation:unsupported type,微信版本8.0.25 基础库2.25.2

手机型号如下:


最后一次编辑于  2022-08-19
回答关注问题邀请回答
收藏

1 个回答

  • 一苏陌尘一
    一苏陌尘一
    2022-08-19
    已解决,代码如下,具体原因不是很清楚
    //发起GPS定位 正确
            function getLocation() {
    
    
                var htmlUrl = encodeURIComponent(location.href.split('#')[0]);
                $.ajax({
                    url: "/CI/WebApi/GetJsApiInfo",
                    contentType: 'application/json;charset=utf-8', //设置请求头信息
                    dateType: "GET",
                    async: false,
                    data: { authToken: authToken, htmlUrl: htmlUrl },
                    success: function (data) {
                        alert(data.data.nonceStr);
                        wx.config({
                            debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                            appId: data.data.appId, // 必填,公众号的唯一标识
                            timestamp: data.data.timestamp, // 必填,生成签名的时间戳
                            nonceStr: data.data.nonceStr, // 必填,生成签名的随机串
                            signature: data.data.signature,// 必填,签名
                            jsApiList: ['getLocation'] // 必填,需要使用的JS接口列表
                        });
                        wx.error(function (res) {
                            console.log('wxerr', res)
                        });
                        wx.ready(function () {
                            // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
                            wx.getLocation({
                                type: 'gcj02', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
                                success: function (ads) {
                                    alert(ads.longitude);
                                },
                            });
                        });
                    }
                });
            }
    
    //发起GPS定位 错误
            //function getLocation() {
            //    var htmlUrl = encodeURIComponent(location.href.split('#')[0]);
            //    $.ajax({
            //        url: "/CI/WebApi/GetJsApiInfo",
            //        contentType: 'application/json;charset=utf-8', //设置请求头信息
            //        dateType: "GET",
            //        async: false,
            //        data: { authToken: authToken, htmlUrl: htmlUrl },
            //        success: function (data) {
            //            wx.config({
            //                debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            //                appId: data.data.appId, // 必填,公众号的唯一标识
            //                timestamp: data.data.timestamp, // 必填,生成签名的时间戳
            //                nonceStr: data.data.nonceStr, // 必填,生成签名的随机串
            //                signature: data.data.signature,// 必填,签名,见附录1
            //                jsApiList: ['getLocation'] // 必填,需要使用的JS接口列表
            //            });
            //            wx.error(function (res) {
            //               console.log('wxerr', res)
            //            });
            //            wx.ready(function () {
            //                //是否支持js接口
            //                wx.getLocation({
            //                    type: 'gcj02 ',
            //                    success: function (res) {
            //                        alert(res.longitude);
            //                    },
            //                    fail: function (res) {
            //                        alert('定位获取失败' + JSON.stringify(res));
            //                    }
            //                })
            //            })
            //        }
            //    });
            //}
    
    2022-08-19
    有用
    回复
登录 后发表内容