我正在创建一个使用谷歌地图显示路线和用户位置的手机应用程序。我通过添加
使用了默认的google api<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
我观察到这会导致应用程序初始化速度变慢,有时甚至会在移动设备连接缓慢时崩溃。我知道除非加载了所有脚本,否则应用程序将无法启动。
我尝试从网址http://maps.google.com/maps/api/js?sensor=false下载JavaScript并在本地存储,但这有时会导致地图加载失败。
是否有可以存储在应用程序中的等效脚本?或者我们可以在加载应用程序后延迟加载脚本吗?
答案 0 :(得分:2)
您可以异步加载API,就像在this example上一样。就像你可以在你的javascript中决定何时加载它,(调用loadScript()),然后在那之后初始化地图。
请注意,该示例使用了一个回调参数,该参数是在加载API完成时要调用的函数的名称。
答案 1 :(得分:0)
您可以使用java脚本异步进程。此方法基于回调响应。
谷歌地图javascript api提供异步加载link
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;