	public Canvas getViewPanel() {
		VLayout layout = new VLayout();
		layout.setWidth100();
		layout.setHeight100();
		layout.setMembersMargin(10);

		HLayout mapLayout = new HLayout();
		mapLayout.setShowEdges(true);
		mapLayout.setHeight("60%");

		// Map with ID osmMap is defined in the XML configuration. (mapOsm.xml)
		final MapWidget map = new MapWidget("osmMap", "gwt-samples");
		map.setController(new PanController(map));
		mapLayout.addMember(map);

		HLayout buttonLayout = new HLayout();
		buttonLayout.setMembersMargin(10);

		IButton butSwitch = new IButton(I18nProvider.getSampleMessages().switchUnitTypes());
		butSwitch.setWidth100();
		buttonLayout.addMember(butSwitch);

		butSwitch.addClickHandler(new ClickHandler() {

			public void onClick(ClickEvent event) {

				if (map.getMapModel().getMapInfo().getDisplayUnitType() == UnitType.METRIC) {
					SC.say(I18nProvider.getSampleMessages().unitTypeEnglish());
					map.getMapModel().getMapInfo().setDisplayUnitType(UnitType.ENGLISH); // set English
				} else {
					SC.say(I18nProvider.getSampleMessages().unitTypeMetric());
					map.getMapModel().getMapInfo().setDisplayUnitType(UnitType.METRIC); // set Metric
				}
				map.setScalebarEnabled(false); // force an update of the scale-bar...
				map.setScalebarEnabled(true); // force an update of the scale-bar...
			}
		});

		layout.addMember(mapLayout);
		layout.addMember(buttonLayout);

		return layout;
	}