我想将OSM集成到GWT中。 我发现这个名为gwt-openlayers的库,但我不明白我怎样才能使它与OSM地图一起工作。带openstreetmap示例的gwt-openlayers示例
任何人都可以提供一个简短的例子吗?
我想将OSM集成到GWT中。 我发现这个名为gwt-openlayers的库,但我不明白我怎样才能使它与OSM地图一起工作。带openstreetmap示例的gwt-openlayers示例
任何人都可以提供一个简短的例子吗?
务必从GWT-的OpenLayers继承通过添加以下到您的模块文件:
<inherits name='org.gwtopenmaps.openlayers.OpenLayers'/>
另外,还要确保你在的OpenLayers JavaScript库和OpenStreetMap的的OpenLayers到通过添加下面的应用程序带来
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>
,那么它应该一件简单的事情,以创建一个使用开放街道地图图层:
OSM openStreetMap = OSM.Osmarender("Base Map");
openStreetMap.setIsBaseLayer(true);
MapWidget mapWidget = new MapWidget("350px", "350px");
mapWidget.getMap().addLayer(openStreetMap);
GWT-的OpenLayers HelloWorld
与OpenStreetMap的
的以下示例适用于我使用OpenLayers-2.8/OpenLayers.js
和OpenStreetMap.js
如上所述:
公共无效onModuleLoad(){
MapOptions defaultMapOptions = new MapOptions(); MapWidget mapWidget = new MapWidget("800px", "600px", defaultMapOptions); OSM osm_1 = OSM.Osmarender("Osmarender"); // Label for menu 'LayerSwitcher' osm_1.setIsBaseLayer(true); OSM osm_2 = OSM.Mapnik("Mapnik"); // Label for menu 'LayerSwitcher' osm_2.setIsBaseLayer(true); OSM osm_3 = OSM.CycleMap("CycleMap"); osm_3.setIsBaseLayer(true); OSM osm_4 = OSM.Maplint("Maplint"); osm_4.setIsBaseLayer(true); Map map = mapWidget.getMap(); map.addLayer(osm_1); map.addLayer(osm_2); map.addLayer(osm_3); map.addLayer(osm_4); map.addControl(new LayerSwitcher()); map.addControl(new MousePosition()); // map.setCenter(new LonLat(6.95, 50.94), 12); // Warning: In the case of OSM-Layers the method 'setCenter()' uses Gauss-Krueger coordinates, // thus we have to transform normal latitude/longitude values into this projection first: LonLat lonLat = new LonLat(6.95, 50.94); // (6.95, 50.94) --> (773670.4, 6610687.2) lonLat.transform("EPSG:4326", "EPSG:900913"); // map.setCenter(lonLat, 12); // see http://docs.openlayers.org/library/spherical_mercator.html RootPanel.get().add(mapWidget); }
'defaultMapOptions'和'map.setCenter(lonLat,12);'部分似乎非常重要...... – Ich 2012-08-02 23:40:05
你发现GWT-的OpenLayers这里的当前版本:http://sourceforge.net/projects/gwt-openlayers/
有没有的OpenLayers一个安全的CDN .js和OpenStreetMap.js? – 2017-12-15 21:41:42