微信公众号内置地图开发ios苹果不显示地图

在微信开发中遇到了安卓正常显示内置地图,但是ios苹果系统不显示,经过排查是因为ios系统调用网页时的经度和纬度必须使用Number类型的,但是安卓的可以.

 wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: [[${wxConfig.appId}]] , // 必填,公众号的唯一标识
        timestamp:[[${wxConfig.timestamp}]] , // 必填,生成签名的时间戳
        nonceStr: [[${wxConfig.nonceStr}]] , // 必填,生成签名的随机串
        signature: [[${wxConfig.signature}]] ,// 必填,签名
        jsApiList: ['checkJsApi', // 必填,需要使用的JS接口列表
            'openLocation',// 使用微信内置地图查看地理位置接口
            'getLocation']// 获取地理位置接口
    });
wx.ready(function(){
        // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
        wx.getLocation({
            type: 'gcj02', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
            success: function (res) {
               // var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
                //var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
               // gaoBegin(longitude,latitude);

                wx.openLocation({
                    latitude: Number([[${wxrouteneed.glatitude}]]), // 纬度,浮点数,范围为90 ~ -90
                    longitude: Number([[${wxrouteneed.glongitude}]]), // 经度,浮点数,范围为180 ~ -180。
                   // latitude: 31.846120131031, // 纬度,浮点数,范围为90 ~ -90
                   // longitude: 117.271610135544, // 经度,浮点数,范围为180 ~ -180。
                    name: [[${wxrouteneed.garagename}]], // 位置名
                    address: [[${wxrouteneed.address}]], // 地址详情说明 address
                    scale: 18, // 地图缩放级别,整形值,范围从1~28。默认为最大
                    infoUrl: 'http://www.cetcbw.com' // 在查看位置界面底部显示的超链接,可点击跳转
                });


            },
            fail:function (res) {
                alert("对不起,您不能选择拒绝定位:"+res);
            }
        });


    });

重要的是上面的代码经度和纬度的前面加上了Number();

你可能感兴趣的:(微信公众号开发)