2

我构建了一个 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。但我不知道该怎么做。

我试过的:

  1. 加载 OpenLayers.js 并在其回调中: ...
  2. ... 加载 GoogleMaps.js 和 OpenStreetMap.js。当这两个都完成时:...
  3. ...显示我的地图。

有时它会起作用,但大多数时候它不起作用,因为:GoogleMaps.js 和 OpenStreetMap.js 有一些额外的 .js、.css、.png 等依赖项,它们独立于我的回调加载。

这意味着: 3 个 .js 文件已完成加载,回调告诉我的应用程序显示地图,但在后台这些 .js 文件仍会获取使用 OpenLayers 所需的其他内容。

有没有办法解决这个问题?

4

2 回答 2

0

您可能有兴趣使用以下任一方法或它们的组合。

1) https://developers.google.com/web-toolkit/doc/latest/DevGuideServerCommunication#DevGuideHttpRequests

2) https://developers.google.com/web-toolkit/doc/latest/tutorial/Xsite

于 2012-11-29T14:20:27.147 回答
0

也许您可以尝试 GWT-OpenLayers。

https://bitbucket.org/gwtopenlayers/gwt-openlayers

于 2012-12-01T22:49:50.357 回答