我构建了一个 AJAX 应用程序,并在我的应用程序中有一个使用 OpenLayers 的专用部分。
目前我的 Application.html 文件中有以下内容,因此它包含在应用程序启动时:
<script src="http://openlayers.org/api/2.11/OpenLayers.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>
现在我想在需要时加载所有这些东西,因为它的大小约为 500-1000kb。但我不知道该怎么做。
我试过的:
- 加载 OpenLayers.js 并在其回调中: ...
- ... 加载 GoogleMaps.js 和 OpenStreetMap.js。当这两个都完成时:...
- ...显示我的地图。
有时它会起作用,但大多数时候它不起作用,因为:GoogleMaps.js 和 OpenStreetMap.js 有一些额外的 .js、.css、.png 等依赖项,它们独立于我的回调加载。
这意味着: 3 个 .js 文件已完成加载,回调告诉我的应用程序显示地图,但在后台这些 .js 文件仍会获取使用 OpenLayers 所需的其他内容。
有没有办法解决这个问题?