org open lib layers fly gwt openstreetmap gwt-openlayers

lib - gwt-openlayers con el ejemplo de openstreetmap



openlayers html (3)

Asegúrese de heredar de gwt-openlayers agregando lo siguiente a su archivo de módulo:

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

También asegúrese de traer la biblioteca de JavaScript OpenLayers y los OpenLayers de OpenStreetMap a su aplicación agregando las siguientes líneas en la página "Application.html":

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

<script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>

Entonces debería ser algo simple crear una capa que use mapas de calles abiertos:

OSM openStreetMap = OSM.Osmarender("Base Map"); openStreetMap.setIsBaseLayer(true);

MapWidget mapWidget = new MapWidget("350px", "350px"); mapWidget.getMap().addLayer(openStreetMap);

Me gustaría integrar OSM en GWT. Encontré esta biblioteca llamada gwt-openlayers, pero no entiendo cómo puedo hacer que funcione con el mapa OSM.

¿Alguien puede darme un pequeño ejemplo?



GWT-OpenLayers HelloWorld con OpenStreetMap

El siguiente ejemplo funciona bien para mí usando OpenLayers-2.8/OpenLayers.js y OpenStreetMap.js como se describe arriba:

public void 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); }