From: Hans T. M. <han...@ho...> - 2010-05-19 14:50:02
|
Hi. I'm having some difficulties with displaying markers when using the OSM class as the base layer. When using a WMS layer it displays correctly, but when I change to OSM it don't get the coordinates and are then displayed at the center of the map. Can someone explain this? *Sample code from my project:* public class Tutorial1 implements EntryPoint { private MapOptions mapOptions; private MapWidget mapWidget; private Map map; private OSM osmLayer; private Markers markers; private Marker marker; private LonLat center; private LonLat markerPosition; private Size size; private Icon icon; private DockPanel dockPanel; public void onModuleLoad() { mapOptions = new MapOptions(); mapOptions.setControls(new JObjectArray(new JSObject[] {})); mapOptions.setProjection("EPSG:900913"); mapOptions.setDisplayProjection(new Projection("EPSG:4326")); mapOptions.setMaxExtent(new Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34)); mapOptions.setNumZoomLevels(19); mapOptions.setUnits("m"); mapWidget = new MapWidget("1000px", "500px", mapOptions); map = mapWidget.getMap(); map.addControl(new PanZoomBar()); map.addControl(new MousePosition()); map.addControl(new MouseToolbar()); map.addControl(new LayerSwitcher()); center = new LonLat(0, 0); map.setCenter(center, 3); osmLayer = OSM.Mapnik("OpenStreetMap"); markers = new Markers("marker layer"); map.addLayers(new Layer[] {osmLayer, markers}); markerPosition = new LonLat(-73.99112, 40.77060); size = new Size(10,17); icon = new Icon("img/marker.png", size); marker = new Marker(markerPosition, icon); markers.addMarker(marker); dockPanel = new DockPanel(); dockPanel.add(mapWidget, DockPanel.CENTER); dockPanel.setBorderWidth(1); RootPanel.get("map").add(dockPanel); } } Cheers, Hans |