001 package com.google.gwt.maps.client.overlays;
002
003 import com.google.gwt.core.client.JavaScriptObject;
004 import com.google.gwt.dom.client.Element;
005 import com.google.gwt.maps.client.base.LatLng;
006 import com.google.gwt.maps.client.base.Size;
007 import com.google.gwt.user.client.ui.Widget;
008
009 /**
010 * InfoWindow Options
011 * <br><br>
012 * See <a href="https://developers.google.com/maps/documentation/javascript/reference#InfoWindowOptions">InfoWindowOptions API Doc</a>
013 */
014 public class InfoWindowOptions extends JavaScriptObject {
015
016 /**
017 * use newInstance();
018 */
019 protected InfoWindowOptions() {}
020
021 /**
022 * InfoWindow Options
023 */
024 public static final InfoWindowOptions newInstance() {
025 return JavaScriptObject.createObject().cast();
026 }
027
028 /**
029 * set widget to display in infoWindow
030 * @param widget
031 */
032 public final void setContent(Widget widget) {
033 setContent(widget.getElement());
034 }
035
036 /**
037 * set Content to display in the InfoWindow. This can be an HTML element, a plain-text string, or a string containing HTML. The InfoWindow will be sized according to the content. To set an explicit size for the content, set content to be a HTML element with that size.
038 * @param content
039 */
040 public final native void setContent(String content) /*-{
041 this.content = content;
042 }-*/;
043
044 /**
045 * get Content to display in the InfoWindow. This can be an HTML element, a plain-text string, or a string containing HTML. The InfoWindow will be sized according to the content. To set an explicit size for the content, set content to be a HTML element with that size.
046 */
047 public final native String getContent_String() /*-{
048 return this.content;
049 }-*/;
050
051 /**
052 * set Content to display in the InfoWindow. This can be an HTML element, a plain-text string, or a string containing HTML. The InfoWindow will be sized according to the content. To set an explicit size for the content, set content to be a HTML element with that size.
053 * @param content
054 */
055 public final native void setContent(Element content) /*-{
056 this.content = content;
057 }-*/;
058
059 /**
060 * get Content to display in the InfoWindow. This can be an HTML element, a plain-text string, or a string containing HTML. The InfoWindow will be sized according to the content. To set an explicit size for the content, set content to be a HTML element with that size.
061 */
062 public final native Element getContent_Element() /*-{
063 return this.content;
064 }-*/;
065
066 /**
067 * sets Disable auto-pan on open. By default, the info window will pan the map so that it is fully visible when it opens.
068 * @param disableAutoPan
069 */
070 public final native void setDisableAutoPan(boolean disableAutoPan) /*-{
071 this.disableAutoPan = disableAutoPan;
072 }-*/;
073
074 /**
075 * gets Disable auto-pan on open. By default, the info window will pan the map so that it is fully visible when it opens.
076 */
077 public final native boolean getDisableAutoPan() /*-{
078 return this.disableAutoPan;
079 }-*/;
080
081 /**
082 * sets Maximum width of the infowindow, regardless of content's width. This value is only considered if it is set before a call to open. To change the maximum width when changing content, call close, setOptions, and then open.
083 * @param width
084 */
085 public final native void setMaxWidth(int width) /*-{
086 this.width = width;
087 }-*/;
088
089 /**
090 * gets Maximum width of the infowindow, regardless of content's width. This value is only considered if it is set before a call to open. To change the maximum width when changing content, call close, setOptions, and then open.
091 */
092 public final native int getMaxWidth() /*-{
093 return this.width;
094 }-*/;
095
096 /**
097 * sets The offset, in pixels, of the tip of the info window from the point on the map at whose geographical coordinates the info window is anchored. If an InfoWindow is opened with an anchor, the pixelOffset will be calculated from the top-center of the anchor's bounds.
098 * @param size
099 */
100 public final native void setPixelOffet(Size size) /*-{
101 this.size = size;
102 }-*/;
103
104 /**
105 * gets The offset, in pixels, of the tip of the info window from the point on the map at whose geographical coordinates the info window is anchored. If an InfoWindow is opened with an anchor, the pixelOffset will be calculated from the top-center of the anchor's bounds.
106 */
107 public final native Size getPixelOffset() /*-{
108 return this.size;
109 }-*/;
110
111 /**
112 * sets The LatLng at which to display this InfoWindow. If the InfoWindow is opened with an anchor, the anchor's position will be used instead.
113 * @param position
114 */
115 public final native void setPosition(LatLng position) /*-{
116 this.position = position;
117 }-*/;
118
119 /**
120 * gets The LatLng at which to display this InfoWindow. If the InfoWindow is opened with an anchor, the anchor's position will be used instead.
121 */
122 public final native LatLng getPosition() /*-{
123 return this.position;
124 }-*/;
125
126 /**
127 * sets All InfoWindows are displayed on the map in order of their zIndex, with higher values displaying in front of InfoWindows with lower values. By default, InfoWinodws are displayed according to their latitude, with InfoWindows of lower latitudes appearing in front of InfoWindows at higher latitudes. InfoWindows are always displayed in front of markers.
128 * @param zIndex
129 */
130 public final native void setZindex(int zIndex) /*-{
131 this.zIndex = zIndex;
132 }-*/;
133
134 /**
135 * gets All InfoWindows are displayed on the map in order of their zIndex, with higher values displaying in front of InfoWindows with lower values. By default, InfoWinodws are displayed according to their latitude, with InfoWindows of lower latitudes appearing in front of InfoWindows at higher latitudes. InfoWindows are always displayed in front of markers.
136 */
137 public final native int getZindex() /*-{
138 return this.zIndex;
139 }-*/;
140
141 }