1

我正在为 GWT 使用 OpenLayers 包装器,称为GWT-OpenLayers

在用户参考页面上,它说您需要在两个文件 gwt.xml 和 .html 上添加参考

像这样在 xml 上:

 <inherits name='org.gwtopenmaps.openlayers.OpenLayers'/>

这在 html 上

 <script src="http://openlayers.org/api/2.11/OpenLayers.js"></script>

GWT-OpenLayers 有一个展示,我正在做展示所做的事情。但是当应用程序启动并且我尝试检查源代码时,我没有在 html 上看到 openlayers 脚本。我尝试添加其他脚本,但不幸的是,该脚本没有出现在源代码中。
更新 01 - html 和浏览器结果:

 <head>
  ...
    <script src="http://www.openlayers.org/api/OpenLayers.js"></script>
    <script type="text/javascript" language="javascript"
        src="GeoStatistics/GeoStatistics.nocache.js"></script>
    <script type="text/javascript" src="ol/OpenLayers.js"></script>
    <script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js">
    </script>
 </head>

浏览器 = Chrome 在此处输入图像描述

如您所见,在 html 上添加了几个脚本,但只出现了一个。

更新 02 - 编译后,仍然无法工作 我刚刚编译了我的项目,并且 html 仍然没有脚本标记。

但是我已经编辑了 html 并加载了项目,并且我得到了 script 标签。所以,这是一些解决方案,如果没有任何其他方法可以使用我的脚本标签生成 html,我可以在编译后放置标签。

4

2 回答 2

2

脚本被加载到应用程序上下文中。您可以将 FireFox 与 FireBug 或在 Chrome 开发工具中使用。添加 gwt 开放层展示的屏幕截图,如 FireBugs 脚本选项卡中所示。

在此处输入图像描述

第 1 步 - 确保 gwt-openlayers-client 在托管模式和部署模式编译的 GWT 项目类路径中

第 2 步 - 在 gwt 模块 xml 文件中

<inherits name='org.gwtopenmaps.openlayers.OpenLayers' />

第 3 步 - 在 html 头标签中

<script src="http://openlayers.org/api/OpenLayers.js"></script>
<script src="http://openstreetmap.org/openlayers/OpenStreetMap.js"></script>
<script type="text/javascript" language="javascript"
    src="GeoStatistics/GeoStatistics.nocache.js"></script>

第4步 -

public void onModuleLoad()
    {
        MapOptions mapOptions = new MapOptions();
        MapWidget mapWidget = new MapWidget( "400px", "300px", mapOptions );

        OSM osm_1 = OSM.Mapnik( "Mapnik" );
        OSM osm_2 = OSM.CycleMap( "CycleMap" );

        osm_1.setIsBaseLayer( true );
        osm_2.setIsBaseLayer( true );

        LonLat lonLat = new LonLat( 6.95, 50.94 );
        lonLat.transform( "EPSG:4326", "EPSG:900913" );

        Map map = mapWidget.getMap();
        map.addLayer( osm_1 );
        map.addLayer( osm_2 );
        map.addControl( new LayerSwitcher() );
        map.addControl( new MousePosition() );
        map.setCenter( lonLat, 12 );
        RootPanel.get().add( mapWidget );
    }
于 2013-01-03T17:49:36.013 回答
-1

发现了问题。

Maven 的 GWT 插件没有编译我的主 .html(gwt:compile)

但是,这不是一个真正的问题,因为主 html 几乎没有更新,所以,只需将新的 .html 放在我的文件夹中,这是一个解决方案,不是很好,而是一个解决方案。

于 2013-01-04T16:21:10.417 回答