gwt-openlayers с примером openstreetmap

Я хотел бы интегрировать OSM в GWT. Я нашел эту библиотеку под названием gwt-openlayers, но я не понимаю, как заставить ее работать с картой OSM.

Может ли кто-нибудь привести мне короткий пример?


person Tughi    schedule 22.03.2010    source источник


Ответы (3)


Убедитесь, что вы наследуете от gwt-openlayers, добавив в файл модуля следующее:

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

Также убедитесь, что вы добавили библиотеку javascript OpenLayers и OpenStreetMap OpenLayers в свое приложение, добавив следующие строки на страницу «Application.html»:

<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);

person btekab    schedule 08.05.2010
comment
Существует ли безопасный CDN для OpenLayers.js и OpenStreetMap.js? - person Jason Washo; 16.12.2017

GWT-OpenLayersHelloWorldwith OpenStreetMap

Следующий пример отлично работает для меня, используя OpenLayers-2.8/OpenLayers.jsandOpenStreetMap.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); }
person rmv    schedule 21.07.2010
comment
Часть defaultMapOptions и map.setCenter(lonLat, 12); кажутся очень важными... - person Ich; 03.08.2012

вы найдете текущую версию gwt-openlayers здесь: http://sourceforge.net/projects/gwt-openlayers/

person thobach    schedule 30.10.2010