如何避免运行时加载的googlemap api Javascript- phonegap?

我正在创build一个使用谷歌地图显示方向和用户位置的phonegap应用程序。 我已经使用默认的谷歌API添加

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 

我观察到这导致应用程序初始化变慢,有时甚至崩溃,如果移动设备上的连接速度较慢。 我明白,除非所有的脚本都被加载,否则应用程序不会启动。

我尝试从http://maps.google.com/maps/api/js?sensor=falseurl下载JavaScript并存储在本地,但这使得地图加载有时会失败。

有一个等效的脚本,可以存储在应用程序本身? 或者我们可以在应用程序加载后延迟加载脚本吗?

您可以asynchronous加载API,就像这个例子一样 。 就像那样,你可以在你的javascript中决定何时加载它(调用loadScript()),然后初始化地图。

请注意,该示例使用callback参数,该参数是装载API完成时要调用的函数的名称。

你可以使用java脚本asynchronous处理。 此方法基于callback响应。

Google maps javascript api提供asynchronous加载链接

 function initialize() { var mapOptions = { zoom: 8, center: new google.maps.LatLng(-34.397, 150.644) }; var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); } function loadScript() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'http://maps.google.com/maps/api/js?sensor=true&callback=initialize'; document.body.appendChild(script); } window.onload = loadScript;