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 import com.google.gwt.maps.client.mvc.MVCObject; 007 008 /** 009 * A transit layer. This class extends MVCObject. <br> 010 * <br> 011 * See <a href= 012 * "https://developers.google.com/maps/documentation/javascript/reference#TransitLayer" 013 * >TransitLayer API Doc</a> 014 */ 015 public class TransitLayer extends MVCObject<TransitLayer> { 016 017 /** 018 * use newInstance(); 019 */ 020 protected TransitLayer() { 021 } 022 023 /** 024 * creates a traffic layer 025 */ 026 public static final TransitLayer newInstance() { 027 return createJso().cast(); 028 } 029 030 private static final native JavaScriptObject createJso() /*-{ 031 return new $wnd.google.maps.TransitLayer(); 032 }-*/; 033 034 /** 035 * Renders the layer on the specified map. If map is set to null, the layer 036 * is removed. 037 * 038 * @param mapWidget 039 */ 040 public final void setMap(MapWidget mapWidget) { 041 if (mapWidget == null) { 042 setMapImpl(null); 043 } else { 044 setMapImpl(mapWidget.getJso()); 045 } 046 } 047 048 private final native void setMapImpl(MapImpl map) /*-{ 049 this.setMap(map); 050 }-*/; 051 052 /** 053 * Get the map on which the layer is being rendered. 054 */ 055 public final MapWidget getMap() { 056 return MapWidget.newInstance(getMapImpl()); 057 } 058 059 private final native MapImpl getMapImpl() /*-{ 060 return this.getMap(); 061 }-*/; 062 }