@Override protected void addMapControls(MapOptions mapOptions) { super.addMapControls(mapOptions); MousePositionOptions options = new MousePositionOptions(); options.setFormatOutput( new MousePositionOutput() { @Override public String format(LonLat lonLat, Map map) { lonLat.transform(getMapProjection(), EPSG_4326); StringBuilder sb = new StringBuilder(); sb.append("Lon: ").append(lonLat.lon()).append(", "); sb.append("Lat: ").append(lonLat.lat()); sb.append(" (").append(map.getProjection()).append(")"); return sb.toString(); } }); map.addControl(new MousePosition(options)); }
@Override public void buildPanel() { OpenLayers.setProxyHost("olproxy?targetURL="); // create some MapOptions MapOptions defaultMapOptions = new MapOptions(); defaultMapOptions.setDisplayProjection( new Projection( "EPSG:4326")); // causes the mouse popup to display coordinates in this format defaultMapOptions.setNumZoomLevels(16); // Create a MapWidget MapWidget mapWidget = new MapWidget("500px", "500px", defaultMapOptions); // Create a WMS layer as base layer WMSParams wmsParams = new WMSParams(); wmsParams.setFormat("image/png"); wmsParams.setLayers("basic"); wmsParams.setStyles(""); WMSOptions wmsLayerParams = new WMSOptions(); wmsLayerParams.setUntiled(); wmsLayerParams.setTransitionEffect(TransitionEffect.RESIZE); String wmsUrl = "http://labs.metacarta.com/wms/vmap0"; WMS wmsLayer = new WMS("Basic WMS", wmsUrl, wmsParams, wmsLayerParams); // Add the WMS to the map Map map = mapWidget.getMap(); map.addLayer(wmsLayer); // Adds the custom mouse position to the map MousePositionOutput mpOut = new MousePositionOutput() { @Override public String format(LonLat lonLat, Map map) { String out = ""; out += "<b>This is the longitude </b> "; out += lonLat.lon(); out += "<b>, and this the latitude</b> "; out += lonLat.lat(); return out; } }; MousePositionOptions mpOptions = new MousePositionOptions(); mpOptions.setFormatOutput(mpOut); // rename to setFormatOutput map.addControl(new MousePosition(mpOptions)); // Lets add some default controls to the map map.addControl( new LayerSwitcher()); // + sign in the upperright corner to display the layer switcher map.addControl(new OverviewMap()); // + sign in the lowerright to display the overviewmap map.addControl(new ScaleLine()); // Display the scaleline // Center and zoom to a location map.setCenter(new LonLat(146.7, -41.8), 6); contentPanel.add( new HTML("<p>This example shows how to add a custom mouse position to the map..</p>")); contentPanel.add(mapWidget); initWidget(contentPanel); mapWidget .getElement() .getFirstChildElement() .getStyle() .setZIndex(0); // force the map to fall behind popups }
/** Creates the center. */ private void createCenter() { center = new ContentPanel(); center.setLayout(new BorderLayout()); center.setHeaderVisible(false); ContentPanel map = new ContentPanel(); map.setLayout(new FitLayout()); map.setHeaderVisible(false); // we dont need this since we have listener on south panel as well map.addListener( Events.Resize, new Listener<BaseEvent>() { public void handleEvent(BaseEvent be) { Dispatcher.forwardEvent(GeoGWTEvents.UPDATE_MAP_SIZE); // Dispatcher.forwardEvent(AcoDBEvents.UPDATE_SOUTH_SIZE); } }); map.addListener( Events.Move, new Listener<BaseEvent>() { public void handleEvent(BaseEvent be) { Dispatcher.forwardEvent(GeoGWTEvents.UPDATE_MAP_SIZE); // Dispatcher.forwardEvent(AcoDBEvents.UPDATE_SOUTH_SIZE); } }); map.setMonitorWindowResize(true); map.setLayoutOnChange(true); BorderLayoutData data = new BorderLayoutData(LayoutRegion.CENTER); data.setMargins(new Margins(0)); // add map to center region of center panel center.add(map, data); data = new BorderLayoutData(LayoutRegion.CENTER); // data.setCollapsible(true); // data.setFloatable(true); // data.setSplit(true); data.setMargins(new Margins(5, 5, 5, 5)); viewport.add(center, data); /* map options */ MapOptions mapOptions = new MapOptions(); mapOptions.setUnits(MapUnits.DEGREES); mapOptions.setProjection("EPSG:4326"); MousePositionOutput mpOut = new MousePositionOutput() { public String format(LonLat lonLat, Map map) { String out = ""; out += "<font size='2' color='black' style='font-weight:900'>"; out += (float) lonLat.lon(); out += " "; out += (float) lonLat.lat(); out += "</font>"; return out; } }; MousePositionOptions mpOptions = new MousePositionOptions(); mpOptions.setFormatOutput(mpOut); JSObject[] controls = new JSObject[] { new Navigation().getJSObject(), new PanZoom().getJSObject(), new LayerSwitcher().getJSObject(), new ScaleLine().getJSObject(), new MousePosition(mpOptions).getJSObject() }; JObjectArray mapControls = new JObjectArray(controls); mapOptions.setControls(mapControls); Dispatcher.forwardEvent(GeoGWTEvents.INIT_MAPS_UI_MODULE, mapOptions); addBaseLayer(); Dispatcher.forwardEvent(GeoGWTEvents.ATTACH_MAP_WIDGET, map); GeofenceGlobalConfiguration geoFenceConfiguration = (GeofenceGlobalConfiguration) GeofenceUtils.getInstance().getGlobalConfiguration(); // Adjusting the Zoom level // Dispatcher.forwardEvent(GeoGWTEvents.ZOOM_TO_MAX_EXTENT); Dispatcher.forwardEvent( GeoGWTEvents.SET_MAP_CENTER, new Double[] { Double.valueOf(geoFenceConfiguration.getMapCenterLon()), Double.valueOf(geoFenceConfiguration.getMapCenterLat()) }); Dispatcher.forwardEvent( GeoGWTEvents.ZOOM, Integer.parseInt(geoFenceConfiguration.getMapZoom())); ToolbarItemManager toolbarItemManager = new ToolbarItemManager(); // defining toolbar tools GenericClientTool poweredBy = new GenericClientTool(); poweredBy.setId(ButtonBar.POWERED_BY); poweredBy.setOrder(-400); GenericClientTool toolbarSeparator1 = new GenericClientTool(); toolbarSeparator1.setId(ButtonBar.TOOLBAR_SEPARATOR); toolbarSeparator1.setOrder(-300); ActionClientTool pan = new ActionClientTool(); pan.setId("pan"); pan.setEnabled(true); pan.setType("toggle"); pan.setOrder(0); ActionClientTool zoomAll = new ActionClientTool(); zoomAll.setId("zoomAll"); zoomAll.setEnabled(true); zoomAll.setType("button"); zoomAll.setOrder(10); ActionClientTool zoomBox = new ActionClientTool(); zoomBox.setId("zoomBox"); zoomBox.setEnabled(true); zoomBox.setType("toggle"); zoomBox.setOrder(20); ActionClientTool zoomIn = new ActionClientTool(); zoomIn.setId("zoomIn"); zoomIn.setEnabled(true); zoomIn.setType("button"); zoomIn.setOrder(30); ActionClientTool zoomOut = new ActionClientTool(); zoomOut.setId("zoomOut"); zoomOut.setEnabled(true); zoomOut.setType("button"); zoomOut.setOrder(40); ActionClientTool drawFeature = new ActionClientTool(); drawFeature.setId("drawFeature"); drawFeature.setEnabled(true); drawFeature.setType("toggle"); drawFeature.setOrder(50); GenericClientTool toolbarSeparator2 = new GenericClientTool(); toolbarSeparator2.setId(ButtonBar.TOOLBAR_SEPARATOR); toolbarSeparator2.setOrder(300); // ToolbarActionRegistry.getRegistry().put("synchUsers", new ToolActionCreator() // { // // public ToolbarAction createActionTool() // { // UpdateUsersAction action = new UpdateUsersAction(); // action.initialize(); // // return action; // } // }); // // ActionClientTool synchUsers = new ActionClientTool(); // synchUsers.setId("synchUsers"); // synchUsers.setEnabled(true); // synchUsers.setType("button"); // synchUsers.setOrder(310); GenericClientTool fillItem = new GenericClientTool(); fillItem.setId(ButtonBar.FILL_ITEM); fillItem.setOrder(320); ToolbarActionRegistry.getRegistry() .put( "logout", new ToolActionCreator() { public ToolbarAction createActionTool() { LogoutAction action = new LogoutAction(); action.initialize(); return action; } }); ActionClientTool logout = new ActionClientTool(); logout.setId("logout"); logout.setEnabled(true); logout.setType("button"); logout.setOrder(500); List<GenericClientTool> clientTools = new ArrayList<GenericClientTool>(); // clientTools.add(poweredBy); // clientTools.add(toolbarSeparator1); clientTools.add(pan); clientTools.add(zoomAll); clientTools.add(zoomBox); clientTools.add(zoomIn); clientTools.add(zoomOut); clientTools.add(drawFeature); clientTools.add(toolbarSeparator2); // clientTools.add(synchUsers); clientTools.add(fillItem); clientTools.add(logout); toolbarItemManager.setClientTools(clientTools); if (GeoGWTUtils.getInstance().getGlobalConfiguration() == null) { GeoGWTUtils.getInstance().setGlobalConfiguration(new GeoGWTConfiguration()); } GeoGWTUtils.getInstance().getGlobalConfiguration().setToolbarItemManager(toolbarItemManager); Dispatcher.forwardEvent(GeoGWTEvents.ATTACH_TOOLBAR, this.north); // Dispatcher.forwardEvent(GeofenceEvents.ATTACH_MAP_WIDGET, this.center); }