001    package com.google.gwt.maps.client.events.overlaycomplete;
002    
003    import com.google.gwt.ajaxloader.client.Properties;
004    import com.google.gwt.ajaxloader.client.Properties.TypeException;
005    import com.google.gwt.maps.client.drawinglib.OverlayType;
006    import com.google.gwt.maps.client.events.MapEvent;
007    import com.google.gwt.maps.client.overlays.Circle;
008    import com.google.gwt.maps.client.overlays.Marker;
009    import com.google.gwt.maps.client.overlays.Polygon;
010    import com.google.gwt.maps.client.overlays.Polyline;
011    import com.google.gwt.maps.client.overlays.Rectangle;
012    
013    public class OverlayCompleteMapEvent extends MapEvent<OverlayCompleteMapHandler, OverlayCompleteMapEvent> {
014    
015      public static Type<OverlayCompleteMapHandler> TYPE = new Type<OverlayCompleteMapHandler>();
016    
017      public OverlayCompleteMapEvent(Properties properties) {
018        super(properties);
019      }
020    
021      @Override
022      public com.google.gwt.event.shared.GwtEvent.Type<OverlayCompleteMapHandler> getAssociatedType() {
023        return TYPE;
024      }
025    
026      @Override
027      protected void dispatch(OverlayCompleteMapHandler handler) {
028        handler.onEvent(this);
029      }
030      
031      public OverlayType getOverlayType() {
032        String type = null;
033        try {
034         type = properties.getString("type");
035        } catch (TypeException e) {
036          e.printStackTrace();
037        }
038        if (type == null) {
039          return null;
040        }
041        return OverlayType.fromValue(type);
042      }
043    
044      public Circle getCircle() {
045        Circle overlay = null;
046        try {
047          overlay = (Circle) properties.getObject("overlay");
048        } catch (TypeException e) {
049          e.printStackTrace();
050        }
051        return overlay ;
052      }
053      
054      public Marker getMarker() {
055        Marker overlay = null;
056        try {
057          overlay = (Marker) properties.getObject("overlay");
058        } catch (TypeException e) {
059          e.printStackTrace();
060        }
061        return overlay;
062      }
063      
064      public Polygon getPolygon() {
065        Polygon overlay = null;
066        try {
067          overlay = (Polygon) properties.getObject("overlay");
068        } catch (TypeException e) {
069          e.printStackTrace();
070        }
071        return overlay ;
072      }
073      
074      public Polyline getPolyline() {
075        Polyline overlay = null;
076        try {
077          overlay = (Polyline) properties.getObject("overlay");
078        } catch (TypeException e) {
079          e.printStackTrace();
080        }
081        return overlay ;
082      }
083      
084      public Rectangle getRectangle() {
085        Rectangle overlay = null;
086        try {
087          overlay = (Rectangle) properties.getObject("overlay");
088        } catch (TypeException e) {
089          e.printStackTrace();
090        }
091        return overlay ;
092      }
093      
094    }