001 package com.google.gwt.maps.client.layers; 002 003 import com.google.gwt.core.client.JavaScriptObject; 004 import com.google.gwt.maps.client.MapImpl; 005 import com.google.gwt.maps.client.MapWidget; 006 007 /** 008 * This object defines the properties that can be set on a KmlLayer object. 009 * <br><br> 010 * See <a href="https://developers.google.com/maps/documentation/javascript/reference#KmlLayerOptions">KmlLayerOptions API Doc</a> 011 */ 012 public class KmlLayerOptions extends JavaScriptObject { 013 014 /** 015 * use newInstance(); 016 */ 017 protected KmlLayerOptions() {} 018 019 /** 020 * This object defines the properties that can be set on a KmlLayer object. 021 */ 022 public static final KmlLayerOptions newInstance() { 023 return JavaScriptObject.createObject().cast(); 024 } 025 026 /** 027 * If true, the layer receives mouse events. Default value is true. 028 * @param clickable 029 */ 030 public final native void setClickable(boolean clickable) /*-{ 031 this.clickable = clickable; 032 }-*/; 033 034 /** 035 * If true, the layer receives mouse events. Default value is true. 036 */ 037 public final native boolean getClickable() /*-{ 038 return this.clickable; 039 }-*/; 040 041 /** 042 * Renders the KML Layer on the specified map. If map is set to null, the layer is removed. 043 * @param mapWidget 044 */ 045 public final void setMap(MapWidget mapWidget) { 046 setMapImpl(mapWidget.getJso()); 047 } 048 049 private final native void setMapImpl(MapImpl map) /*-{ 050 this.map = map; 051 }-*/; 052 053 /** 054 * Get the map on which the KML Layer is being rendered. 055 */ 056 public final MapWidget getMap() { 057 return MapWidget.newInstance(getMapImpl()); 058 } 059 060 private final native MapImpl getMapImpl() /*-{ 061 return this.map; 062 }-*/; 063 064 /** 065 * By default, the input map is centered and zoomed to the bounding box of the contents of the layer. If this option is set to true, the viewport is left unchanged, unless the map's center and zoom were never set. 066 * @param preserveViewport 067 */ 068 public final native void setPreserveViewport(boolean preserveViewport) /*-{ 069 this.preserveViewport = preserveViewport; 070 }-*/; 071 072 /** 073 * By default, the input map is centered and zoomed to the bounding box of the contents of the layer. If this option is set to true, the viewport is left unchanged, unless the map's center and zoom were never set. 074 */ 075 public final native boolean getPreserveViewport() /*-{ 076 return this.preserveViewport; 077 }-*/; 078 079 /** 080 * Suppress the rendering of info windows when layer features are clicked. 081 * @param suppressInfoWindows 082 */ 083 public final native void setSuppressInfoWindows(boolean suppressInfoWindows) /*-{ 084 this.suppressInfoWindows = suppressInfoWindows; 085 }-*/; 086 087 /** 088 * Suppress the rendering of info windows when layer features are clicked. 089 */ 090 public final native boolean getSuppressInfoWindows() /*-{ 091 return this.suppressInfoWindows; 092 }-*/; 093 094 }