最近开发一个微信小程序,首页中有一块儿是地图,地图点击进去后是满屏地图,遇到一个问题,点击首页小块地图跳转至下一页满屏地图,然后再从满屏地图中按默认返回按钮返回到首页时,发现首页小块地图不显示了,目前这个情况只在Android实体机发现,iOS是没有此问题。再点击地图后,很明显可以看出地图已被销毁,然后才跳转的页面,等返回页面时,地图就没有了。寻找了好多方法没有解决,最终解决办法是,使用一个view包裹这个map标签,然后当从这个页面返回时,让这个view隐藏再显示,问题解决了。具体这个问题产生的原因还不清楚。
<!--首页的小块儿地图代码--> <view wx:if="{{mapshow}}"> <map id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="14" controls="{{controls}}" bindcontroltap="controltap" markers="{{markers}}" bindmarkertap="markertap" show-location class="map {{toppicnews.length!=0||nearlytext?'topview':'notopview'}}" bindtap='mapclick'> </map> </view> <!--首页js代码--> onShow: function () { if (app.globalData.reloadFlag) { //这个值再全局变量中定义,默认为false app.globalData.reloadFlag = false; this.setData({ mapshow: false,//mapshow需要再首页data中定义,默认为true }) this.setData({ mapshow: true }) return; } } <!--满屏地图页onload方法代码--> onLoad: function (options) { app.globalData.reloadFlag = true; //在进入满屏地图页是,设置这个值为true }