001 package com.google.gwt.maps.client.events.panoramiomouse; 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.panoramiolib.PanoramioFeature; 009 010 public class PanoramioMouseMapEvent extends MapEvent<PanoramioMouseMapHandler, PanoramioMouseMapEvent> { 011 012 public static Type<PanoramioMouseMapHandler> TYPE = new Type<PanoramioMouseMapHandler>(); 013 014 public PanoramioMouseMapEvent(Properties properties) { 015 super(properties); 016 } 017 018 @Override 019 public com.google.gwt.event.shared.GwtEvent.Type<PanoramioMouseMapHandler> getAssociatedType() { 020 return TYPE; 021 } 022 023 @Override 024 protected void dispatch(PanoramioMouseMapHandler handler) { 025 handler.onEvent(this); 026 } 027 028 /** 029 * A PanoramioFeature object containing information about the clicked feature. 030 * @return {@link PanoramioFeature} 031 */ 032 public PanoramioFeature getFeatureDetails() { 033 PanoramioFeature feature = null; 034 try { 035 feature = (PanoramioFeature) properties.getObject("featureDetails"); 036 } catch (TypeException e) { 037 e.printStackTrace(); 038 } 039 return feature ; 040 } 041 042 /** 043 * Pre-rendered HTML content, as placed in the infowindow by the default UI. 044 */ 045 public String getInfoWindowHtml() { 046 String infoWindowHtml = null; 047 try { 048 infoWindowHtml = properties.getString("infoWindowHtml"); 049 } catch (TypeException e) { 050 e.printStackTrace(); 051 } 052 return infoWindowHtml; 053 } 054 055 /** 056 * The position at which to anchor an infowindow on the clicked feature. 057 * @return {@link LatLng} 058 */ 059 public LatLng getLatLng() { 060 LatLng latLng = null; 061 try { 062 latLng = (LatLng) properties.getObject("latLng"); 063 } catch (TypeException e) { 064 e.printStackTrace(); 065 } 066 return latLng; 067 } 068 069 /** 070 * gets The offset to apply to an infowindow anchored on the clicked feature. 071 */ 072 public Size getPixelOffset() { 073 Size pixelOffset = null; 074 try { 075 pixelOffset = (Size) properties.getObject("pixelOffset"); 076 } catch (TypeException e) { 077 e.printStackTrace(); 078 } 079 return pixelOffset; 080 } 081 082 }