package com.test.gpda.ihm.client; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.SimplePanel; import com.google.maps.gwt.client.LatLng; import com.google.maps.gwt.client.MapOptions; import com.google.maps.gwt.client.MapTypeId; public class MapWidgetV3 extends Composite { SimplePanel simplePanel; MyGoogleMap googleMap; public MapWidgetV3(double lat, double lng) { super(); simplePanel = new SimplePanel(); simplePanel.setWidth("900px"); simplePanel.setHeight("700px"); LatLng myLatLng = LatLng.create(lat, lng); MapOptions myOptions = MapOptions.create(); myOptions.setZoom(8.0); myOptions.setCenter(myLatLng); myOptions.setMapTypeId(MapTypeId.ROADMAP); googleMap = MyGoogleMap.create(simplePanel.getElement(), myOptions); initWidget(simplePanel); getElement().setAttribute("id", "map_container"); } @Override protected void onUnload() { super.onUnload(); try { googleMap.clearInstanceListeners(); } catch (Exception e) { Window.alert("Probleme de cleear des clearOverlays " +e.getMessage()); } googleMap.clearBoundsChangedListeners(); googleMap.clearCenterChangedListeners(); googleMap.clearClickListeners(); googleMap.clearDblClickListeners(); googleMap.clearDragEndListeners(); googleMap.clearDragListeners(); googleMap.clearDragStartListeners(); googleMap.clearIdleListeners(); googleMap.clearInstanceListeners(); googleMap.clearMapTypeIdChangedListeners(); googleMap.clearMouseMoveListeners(); googleMap.clearMouseOutListeners(); googleMap.clearMouseOverListeners(); googleMap.clearProjectionChangedListeners(); googleMap.clearResizeListeners(); googleMap.clearRightClickListeners(); googleMap.clearTilesLoadedListeners(); googleMap.clearTiltChangedListeners(); googleMap.clearZoomChangedListeners(); for (int i = 0; i < googleMap.getControls().length(); i++) { googleMap.getControls().set(i, null); } googleMap.setOptions(null); googleMap.setControls(null); googleMap.setOverlayMapTypes(null); googleMap.setFeatures(null); googleMap.setValues(null); } }