001 package com.google.gwt.maps.client.events.kmlmouse; 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.base.LatLng; 006 import com.google.gwt.maps.client.base.Size; 007 import com.google.gwt.maps.client.events.MapEvent; 008 import com.google.gwt.maps.client.layers.KmlFeatureData; 009 010 public class KmlMouseMapEvent extends MapEvent<KmlMouseMapHandler, KmlMouseMapEvent> { 011 012 public static Type<KmlMouseMapHandler> TYPE = new Type<KmlMouseMapHandler>(); 013 014 public KmlMouseMapEvent(Properties properties) { 015 super(properties); 016 } 017 018 @Override 019 public com.google.gwt.event.shared.GwtEvent.Type<KmlMouseMapHandler> getAssociatedType() { 020 return TYPE; 021 } 022 023 @Override 024 protected void dispatch(KmlMouseMapHandler handler) { 025 handler.onEvent(this); 026 } 027 028 /** 029 * get A KmlFeatureData object, containing information about the clicked feature. 030 */ 031 public KmlFeatureData getFeatureData() { 032 KmlFeatureData featureData = null; 033 try { 034 featureData = (KmlFeatureData) properties.getObject("featureData"); 035 } catch (TypeException e) { 036 e.printStackTrace(); 037 } 038 return featureData; 039 } 040 041 /** 042 * get The position at which to anchor an infowindow on the clicked feature. 043 */ 044 public LatLng getLatLng() { 045 LatLng latLng = null; 046 try { 047 latLng = (LatLng) properties.getObject("latLng"); 048 } catch (TypeException e) { 049 e.printStackTrace(); 050 } 051 return latLng; 052 } 053 054 /** 055 * get The offset to apply to an infowindow anchored on the clicked feature. 056 */ 057 public Size getPixelOffset() { 058 Size pixelOffset = null; 059 try { 060 pixelOffset = (Size) properties.getObject("pixelOffset"); 061 } catch (TypeException e) { 062 e.printStackTrace(); 063 } 064 return pixelOffset; 065 } 066 067 }