Google maps api 3 PhoneGap上的谷歌地图未显示完整信息

Google maps api 3 PhoneGap上的谷歌地图未显示完整信息,google-maps-api-3,cordova,mobile-website,jquery-ui-map,Google Maps Api 3,Cordova,Mobile Website,Jquery Ui Map,我有一个问题,我的谷歌地图只显示顶部的分幅(很像这个问题),但在iOS和jQuery UI地图中。 但是,这只有在我使用应用程序切换选项卡一段时间后才会发生(在桌面浏览器上工作正常,但在设备应用程序上失败) 我在其他帖子中尝试过几种解决方案(正如你从代码中看到的),但我的问题有点不同,因为它一开始并没有发生 这是我的HTML <div data-role="page" id="page3" data-url="page3" tabindex="0" style="padding-botto

我有一个问题,我的谷歌地图只显示顶部的分幅(很像这个问题),但在iOS和jQuery UI地图中。 但是,这只有在我使用应用程序切换选项卡一段时间后才会发生(在桌面浏览器上工作正常,但在设备应用程序上失败)

我在其他帖子中尝试过几种解决方案(正如你从代码中看到的),但我的问题有点不同,因为它一开始并没有发生

这是我的HTML

<div data-role="page" id="page3" data-url="page3" tabindex="0" style="padding-bottom:19px">
....
    <div data-role="content" id="ct">
        <div id="map_canvas" style="height:100%"></div>
    </div>
....
</div>
提前谢谢你的任何想法

“修复”了一个非常丑陋的问题 基本上,每次加载页面时,我都会重新创建地图,如下所示

if (!mapInited)  mapInited = true;
else { $('#map_canvas').remove(); $('#ct').append('<div id="map_canvas" style="height:100%"></div>'); }
如果(!mapInited)mapInited=true;
else{$('#map_canvas').remove();$('#ct').append(''')}

您触发了jQuery对象的调整大小事件,这不会产生任何效果,因为您必须触发
google.maps.Map
-实例:

google.maps.event.trigger($('#map_canvas').gmap('get','map'),'resize');
您还可以使用插件方法
triggerEvent
触发事件:

 $('#map_canvas').gmap().triggerEvent('resize');

如果您使用的是jQueryUIMap,那么为什么要使用原生的GoogleMapsAPI而不是gmap函数呢


为什么不调用
$('map_canvas').gmap('refresh')

他们应该为你创造一枚白金奖章
 $('#map_canvas').gmap().triggerEvent('resize');