001 package com.google.gwt.maps.client.streetview; 002 003 import com.google.gwt.core.client.JavaScriptObject; 004 import com.google.gwt.maps.client.base.LatLng; 005 import com.google.gwt.maps.client.controls.PanControlOptions; 006 import com.google.gwt.maps.client.controls.ZoomControlOptions; 007 import com.google.gwt.maps.client.workaround.WorkAroundUtils; 008 009 /** 010 * Options defining the properties of a StreetViewPanorama object. 011 * <br><br> 012 * See <a href="https://developers.google.com/maps/documentation/javascript/reference#StreetViewPanoramaOptions">StreetViewPanoramaOptions API Doc</a> 013 */ 014 public class StreetViewPanoramaOptions extends JavaScriptObject { 015 016 /** 017 * Options defining the properties of a StreetViewPanorama object. 018 * use newInstance(); 019 */ 020 protected StreetViewPanoramaOptions() {} 021 022 /** 023 * creates Options defining the properties of a StreetViewPanorama object. 024 * @return {@link StreetViewPanoramaOptions} 025 */ 026 public final static StreetViewPanoramaOptions newInstance() { 027 JavaScriptObject jso = JavaScriptObject.createObject(); 028 WorkAroundUtils.removeGwtObjectId(jso); 029 return jso.cast(); 030 } 031 032 /** 033 * sets The enabled/disabled state of the address control. 034 * @param addressControl 035 */ 036 public final native void setAddressControl(boolean addressControl) /*-{ 037 this.addressControl = addressControl 038 }-*/; 039 040 /** 041 * gets The enabled/disabled state of the address control. 042 */ 043 public final native boolean getAddressControl() /*-{ 044 return this.addressControl; 045 }-*/; 046 047 /** 048 * sets The display options for the address control. 049 * @param addressControlOptions {@link StreetViewAddressControlOptions} 050 */ 051 public final native void setAddressControlOptions(StreetViewAddressControlOptions addressControlOptions) /*-{ 052 this.addressControlOptions = addressControlOptions; 053 }-*/; 054 055 /** 056 * gets The display options for the address control. 057 * @return {@link StreetViewAddressControlOptions} 058 */ 059 public final native StreetViewAddressControlOptions getAddressControlOptions() /*-{ 060 return this.addressControlOptions; 061 }-*/; 062 063 /** 064 * sets Enables/disables zoom on double click. Enabled by default. 065 * @param disableDoubleClickZoom 066 */ 067 public final native void setDisableDoubleClickZoom(boolean disableDoubleClickZoom) /*-{ 068 this.disableDoubleClickZoom = disableDoubleClickZoom; 069 }-*/; 070 071 /** 072 * gets Enables/disables zoom on double click. Enabled by default. 073 */ 074 public final native boolean getDisableDoubleClickZoom() /*-{ 075 return this.disableDoubleClickZoom; 076 }-*/; 077 078 /** 079 * sets If true, the close button is displayed. Disabled by default. 080 * @param enableCloseButton 081 */ 082 public final native void setEnableCloseButton(boolean enableCloseButton) /*-{ 083 this.enableCloseButton = enableCloseButton; 084 }-*/; 085 086 /** 087 * gets If true, the close button is displayed. Disabled by default. 088 */ 089 public final native boolean getEnableCloseButton() /*-{ 090 return this.enableCloseButton; 091 }-*/; 092 093 /** 094 * sets The enabled/disabled state of the links control. 095 * @param linksControl 096 */ 097 public final native void setLinksControl(boolean linksControl) /*-{ 098 this.linksControl = linksControl; 099 }-*/; 100 101 /** 102 * gets The enabled/disabled state of the links control. 103 */ 104 public final native boolean getLinksControl() /*-{ 105 return this.linksControl; 106 }-*/; 107 108 /** 109 * sets The enabled/disabled state of the pan control. 110 * @param panControl 111 */ 112 public final native void setPanControl(boolean panControl) /*-{ 113 this.panControl = panControl; 114 }-*/; 115 116 /** 117 * gets The enabled/disabled state of the pan control. 118 */ 119 public final native boolean getPanControl() /*-{ 120 return this.panControl; 121 }-*/; 122 123 /** 124 * sets The display options for the pan control. 125 * @param panControlOptions {@link PanControlOptions} 126 */ 127 public final native void setPanControlOptions(PanControlOptions panControlOptions) /*-{ 128 this.panControlOptions = panControlOptions; 129 }-*/; 130 131 /** 132 * gets The display options for the pan control. 133 * @return {@link PanControlOptions} 134 */ 135 public final native PanControlOptions getPanControlOptions() /*-{ 136 return this.panControlOptions; 137 }-*/; 138 139 /** 140 * sets The panorama ID, which should be set when specifying a custom panorama. 141 * @param pano 142 */ 143 public final native void setPano(String pano) /*-{ 144 this.pano = pano; 145 }-*/; 146 147 /** 148 * gets The panorama ID, which should be set when specifying a custom panorama. 149 */ 150 public final native String getPano() /*-{ 151 return this.pano; 152 }-*/; 153 154 /** 155 * sets Custom panorama provider, which takes a string pano id and returns an object defining the panorama given that id. This function must be defined to specify custom panorama imagery. 156 * @param provider 157 */ 158 public final native void setPanoProvider(StreetViewPanoramaProvider provider) /*-{ 159 this.panoProvider = function(pano, zoom, tileX, tileY) { 160 var z = zoom ? zoom : -1; 161 var x = tileX ? tileX : -1; 162 var y = tileY ? tileY : -1; 163 //alert('panoProvider= pano' + pano + ' zoom=' + z + ' tileX=' + x + ' tileY=' + y); 164 return @com.google.gwt.maps.client.streetview.StreetViewPanoramaOptions::setPanoProviderImpl(Ljava/lang/String;IIILcom/google/gwt/maps/client/streetview/StreetViewPanoramaProvider;)(pano, z, x, y, provider); 165 } 166 }-*/; 167 168 private static StreetViewPanoramaData setPanoProviderImpl(String pano, int zoom, int tileX, int tileY, StreetViewPanoramaProvider provider) { 169 StreetViewPanoramaData svpd = provider.getPanoData(pano, zoom, tileX, tileY); 170 return svpd; 171 } 172 173 /** 174 * gets Custom panorama provider, which takes a string pano id and returns an object defining the panorama given that id. This function must be defined to specify custom panorama imagery. 175 */ 176 public final native StreetViewPanoramaProvider getPanoProvider() /*-{ 177 return this.panoProvider; 178 }-*/; 179 180 /** 181 * sets The LatLng position of the Street View panorama. 182 * @param position {@link LatLng} 183 */ 184 public final native void setPosition(LatLng position) /*-{ 185 this.position = position; 186 }-*/; 187 188 /** 189 * gets The LatLng position of the Street View panorama. 190 * @return {@link LatLng} 191 */ 192 public final native LatLng getPosition() /*-{ 193 return this.position; 194 }-*/; 195 196 /** 197 * The camera orientation, specified as heading, pitch, and zoom, for the panorama. 198 * @param pov {@link StreetViewPov} 199 */ 200 public final native void setStreeViewPov(StreetViewPov pov) /*-{ 201 this.pov = pov; 202 }-*/; 203 204 /** 205 * gets The camera orientation, specified as heading, pitch, and zoom, for the panorama. 206 */ 207 public final native StreetViewPov getStreetViewPov() /*-{ 208 return this.pov; 209 }-*/; 210 211 /** 212 * sets If false, disables scrollwheel zooming in Street View. The scrollwheel is enabled by default. 213 * @param scrollwheel 214 */ 215 public final native void setScrollWheel(boolean scrollwheel) /*-{ 216 this.scrollwheel = scrollwheel; 217 }-*/; 218 219 /** 220 * gets If false, disables scrollwheel zooming in Street View. The scrollwheel is enabled by default. 221 */ 222 public final native boolean getsScrollWheel() /*-{ 223 return this.scrollwheel; 224 }-*/; 225 226 /** 227 * sets If true, the Street View panorama is visible on load. 228 * @param visible 229 */ 230 public final native void setVisibile(boolean visible) /*-{ 231 this.visible = visible; 232 }-*/; 233 234 /** 235 * gets If true, the Street View panorama is visible on load. 236 */ 237 public final native boolean getVisible() /*-{ 238 return this.visible; 239 }-*/; 240 241 /** 242 * sets The enabled/disabled state of the zoom control. 243 * @param zoomControl 244 */ 245 public final native void setZoomControl(boolean zoomControl) /*-{ 246 this.zoomControl = zoomControl; 247 }-*/; 248 249 /** 250 * gets The enabled/disabled state of the zoom control. 251 */ 252 public final native boolean getZoomControl() /*-{ 253 return this.zoomControl; 254 }-*/; 255 256 /** 257 * sets The display options for the zoom control. 258 * @param zoomControlOptions 259 */ 260 public final native void setZoomControlOptions(ZoomControlOptions zoomControlOptions) /*-{ 261 this.zoomControlOptions = zoomControlOptions; 262 }-*/; 263 264 /** 265 * gets The display options for the zoom control. 266 */ 267 public final native ZoomControlOptions getZoomControlOptions() /*-{ 268 return this.zoomControlOptions; 269 }-*/; 270 271 }