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

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

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

11
задан AmanicA 9 March 2013 в 00:05
поделиться

2 ответа

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

<наследует name = 'org.gwtopenmaps.openlayers.OpenLayers '/>

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

Тогда он должен простая вещь для создания слоя, использующего открытые карты улиц:

OSM openStreetMap = OSM.Osmarender («Базовая карта»); openStreetMap.setIsBaseLayer (true);

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

11
ответ дан 3 December 2019 в 04:52
поделиться

GWT-OpenLayersHelloWorldс OpenStreetMap

Следующий пример отлично работает для меня, используяOpenLayers-2. 8/OpenLayers.jsиOpenStreetMap.jsкак описано выше:

public void onModuleLoad() {

MapOptions defaultMapOptions = new MapOptions();
MapWidget mapWidget = new MapWidget("800px", "600px", defaultMapOptions);

OSM osm_1 = OSM.Osmarender("Osmarender"); // Ярлык для меню 'LayerSwitcher'
 osm_1.setIsBaseLayer(true);

OSM osm_2 = OSM.Mapnik("Mapnik"); // Ярлык для меню '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); // Внимание: В случае OSM-слоев метод 'setCenter()' использует координаты Гаусса-Крюгера,
 // поэтому сначала мы должны преобразовать обычные значения широты/долготы в эту проекцию:
 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); // см. http://docs.openlayers.org/library/spherical_mercator.html

RootPanel.get().add(mapWidget); }
11
ответ дан 3 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: