我正在为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并加载了项目,我有了脚本标签。所以,这是一些解决方案,如果没有任何其他方式用我的脚本标签生成html,我可以在编译后放置标签。
答案 0 :(得分:2)
脚本被加载到应用程序上下文中。您可以将FireFox与FireBug或In Chrome Dev Tools一起使用。添加gwt开放层展示的屏幕截图,如FireBugs脚本选项卡中所示。
步骤1 - 确保gwt-openlayers-client处于托管模式和部署模式编译的GWT项目类路径中
步骤2 - 在gwt模块xml文件中
<inherits name='org.gwtopenmaps.openlayers.OpenLayers' />
第3步 - 在html head标签中
<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 );
}
答案 1 :(得分:-1)
发现问题。
maven的GWT插件没有编译我的主.html(gwt:compile)
但是,这不是一个真正的问题,因为主要的html几乎没有更新,所以,只需将新的.html放在我的文件夹上,这是一个解决方案,不是很好,而是一个解决方案。