/**************************************************************************************************** * * * Google Maps Intellisence * * * * Documentation from: http://code.google.com/apis/maps/documentation/reference.html * * Developed by: Roger Chapman (http://blog.rodj.org) * * Adapted for API Loader by: Richard Kimber (http://blog.dogma.co.uk) * * * * * *****************************************************************************************************/ var google = function() { }; google.load = function (moduleName, moduleVersion, optionalSettings) { /// /// Returns named API. /// /// The name of the API (e.g., "maps" or "search"). The module name also serves as the namespace of the API once it is loaded. /// The version of the API module. /// All optional configuration options for the API you are loading as a JavaScript object literal. }; google.setOnLoadCallback = function(callback) { /// /// Sets callback function for load method. /// }; google.maps = function() { }; //class google.maps.Map2 // Constructor google.maps.Map2 = function (container, opts) { /// /// Creates a new map inside of the given HTML container, which is typically a DIV element. If no set of map types is given in the optional argument opts.mapTypes, the default set google.maps.DEFAULT_MAP_TYPES is used. If no size is given in the optional argument opts.size, then the size of the container is used. If opts.size is given, then the container element of the map is resized accordingly. /// /// /// The container (DIV element) /// (optional) The google.maps.Map2 options as javascript object literal. Options are: /// 1. size: google.maps.Size - Sets the size in pixels of the map. The container that is passed to the map constructor will be resized to the given size. By default, the map will assume the size of its container. /// 2. mapTypes: google.maps.MapType[] - Array of map types to be used by this map. By default, google.maps.DEFAULT_MAP_TYPES is used. You can use this option to restrict the set of predefined map types that is displayed on the map, or to pass your own map types to the map. See also google.maps.Map2.addMapType(). /// 3. draggableCursor: String - The cursor to display when the map is draggable. (Since 2.59) /// 4. draggingCursor: String - The cursor to display while dragging the map. (Since 2.59) /// 5. googleBarOptions: google.maps.GoogleBarOptions - his property specifies the options to configure the google.maps.GoogleBar search control. These options are passed to the google.maps.MapOptions object literal when the map is constructed, and are used to construct the local google.maps.GoogleBar control when google.maps.Map2.enableGoogleBar() is called. (Since 2.95) /// }; //Methods google.maps.Map2.prototype = { // Configuration enableDragging: function() { /// /// Enables the dragging of the map (enabled by default). /// }, disableDragging: function() { /// /// Disables the dragging of the map. /// }, draggingEnabled: function() { /// /// Returns true if the dragging of the map is enabled. /// /// }, enableInfoWindow: function() { /// /// Enables info window operations on the map (enabled by default). /// }, disableInfoWindow: function() { /// /// Closes the info window, if it is open, and disables the opening of a new info window. /// }, infoWindowEnabled: function() { /// /// Returns true iff the info window is enabled. /// /// }, enableDoubleClickZoom: function() { /// /// Enables double click to zoom in and out (disabled by default). (Since 2.58) /// }, disableDoubleClickZoom: function() { /// /// Disables double click to zoom in and out. (Since 2.58) /// }, doubleClickZoomEnabled: function() { /// /// Returns true iff double click to zoom is enabled. (Since 2.58) /// /// }, enableContinuousZoom: function() { /// /// Enables continuous smooth zooming for select browsers (disabled by default). (Since 2.58) /// }, disableContinuousZoom: function() { /// /// Disables continuous smooth zooming. (Since 2.58) /// }, continuousZoomEnabled: function() { /// /// Returns true if continuous smooth zooming is enabled. (Since 2.58) /// /// }, enableGoogleBar: function() { /// /// Enables the GoogleBar, an integrated search control, to the map. When enabled, this control takes the place of the default Powered By Google logo. Note that this control is not enabled by default. (Since 2.92) /// }, disableGoogleBar: function() { /// /// Disables the GoogleBar integrated search control. When disabled, the default Powered by Google logo occupies the position formerly containing this control. Note that this control is already disabled by default. (Since 2.92) /// }, enableScrollWheelZoom: function() { /// /// Enables zooming using a mouse's scroll wheel. Note: scroll wheel zoom is disabled by default. (Since 2.78) /// }, disableScrollWheelZoom: function() { /// /// Disables zooming using a mouse's scroll wheel. Note: scroll wheel zoom is disabled by default. (Since 2.78) /// }, scrollWheelZoomEnabled: function() { /// /// Returns a Boolean indicating whether scroll wheel zooming is enabled. (Since 2.78) /// /// }, // Controls addControl: function(control, position) { /// /// Adds the control to the map. The position on the map is determined by the optional position argument. If this argument is absent, the default position of the control is used, as determined by the google.maps.Control.getDefaultPosition() method. A control instance must not be added more than once to the map. /// /// The control to add /// (optional) The position of the control }, removeControl: function(control) { /// /// Removes the control from the map. It does nothing if the control was never added to the map. /// /// The control to remove }, getContainer: function() { /// /// Returns the DOM object that contains the map. Used by google.maps.Control.initialize(). /// /// }, // Map Types getMapTypes: function() { /// /// Returns the array of map types registered with this map. /// /// }, getCurrentMapType: function() { /// /// Returns the currently selected map type. /// /// }, setMapType: function(type) { /// ///Selects the given new map type. The type must be known to the map. See the constructor, and the method addMapType(). /// /// The map type to set }, addMapType: function(type) { /// /// Adds a new map type to the map. See section google.maps.MapType for how to define custom map types. /// /// The map type to add }, removeMapType: function(type) { /// /// Removes the map type from the map. Will update the set of buttons displayed by the google.maps.MapTypeControl or GHierarchicalMapTypeControl and fire the removemaptype event. /// /// The map type to remove }, // Map State isLoaded: function() { /// /// Returns true iff the map was initialized by setCenter() since it was created. /// /// }, getCenter: function() { /// /// Returns the geographical coordinates of the center point of the map view. /// /// }, getBounds: function() { /// /// Returns the the visible rectangular region of the map view in geographical coordinates. /// /// }, getBoundsZoomLevel: function(bounds) { /// ///Returns the zoom level at which the given rectangular region fits in the map view. The zoom level is computed for the currently selected map type. If no map type is selected yet, the first on the list of map types is used. /// /// /// The lat/long bounds }, getSize: function() { /// /// Returns the size of the map view in pixels. /// /// }, getZoom: function() { /// /// Returns the current zoom level. /// /// }, getDragObject: function() { /// /// Returns the draggable object used by this map. (Since 2.93) /// /// }, // Modify the Map State setCenter: function(center, zoom, type) { /// /// Sets the map view to the given center. Optionally, also sets zoom level and map type. The map type must be known to the map. See the constructor, and the method addMapType(). This method must be called first after construction to set the initial state of the map. It is an error to call other operations on the map after construction. /// /// The lat/long of the central point }, panTo: function(center) { /// /// Changes the center point of the map to the given point. If the point is already visible in the current map view, change the center in a smooth animation. /// /// The lat/long of the central point }, panBy: function(distance) { /// /// Starts a pan animation by the given distance in pixels. /// /// The distance in pixels }, panDirection: function(dx, dy) { /// /// Starts a pan animation by half the width of the map in the indicated directions. +1 is right and down, -1 is left and up, respectively. /// /// distance along x-axis /// distance along y-axis }, setZoom: function(level) { /// /// Sets the zoom level to the given new value. /// /// Zoom level }, zoomIn: function() { /// /// Increments zoom level by one. /// }, zoomOut: function() { /// /// Decrements zoom level by one. /// }, savePosition: function() { /// /// Stores the current map position and zoom level for later recall by returnToSavedPosition(). /// }, returnToSavedPosition: function() { /// /// Restores the map view that was saved by savePosition(). /// }, checkResize: function() { /// /// Notifies the map of a change of the size of its container. Call this method after the size of the container DOM object has changed, so that the map can adjust itself to fit the new size. /// }, // Overlays addOverlay: function(overlay) { /// /// Adds an overlay to the map and fires the addoverlay event. /// /// The overlay to add }, removeOverlay: function(overlay) { /// /// Removes the overlay from the map. If the overlay was on the map, it fires the removeoverlay event. /// /// }, clearOverlays: function() { /// /// Removes all overlay from the map, and fires the clearoverlays event. /// }, getPane: function(pane) { /// /// Returns a DIV that holds the object in the layer identified by pane. Used by google.maps.Overlay instances in method google.maps.Overlay.initialize() instances to draw themselves on the map. /// /// /// }, //Info Window openInfoWindow: function(latlong, node, opts) { /// /// Opens a simple info window at the given point. Pans the map such that the opened info window is fully visible. The content of the info window is given as a DOM node. /// /// The point to open the window /// The DOM node for the contents of the window. /// (optional) The options as javascript object literal. Options are: /// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// 2. maxWidth: Number - Maximum width of the info window content, in pixels. /// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83). /// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed. /// 5. onCloseFn: function - Function is called when the info window is closed. /// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 7. mapType: google.maps.MapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 10. pixelOffset: google.maps.Size - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given google.maps.LatLng. (Since 2.98). /// }, openInfoWindowHtml: function(latlong, html, opts) { /// /// Opens a simple info window at the given point. Pans the map such that the opened info window is fully visible. The content of the info window is given as HTML text. /// /// The point to open the window /// The html text contents /// (optional) The options as javascript object literal. Options are: /// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// 2. maxWidth: Number - Maximum width of the info window content, in pixels. /// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83). /// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed. /// 5. onCloseFn: function - Function is called when the info window is closed. /// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 7. mapType: google.maps.MapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 10. pixelOffset: google.maps.Size - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given google.maps.LatLng. (Since 2.98). /// }, openInfoWindowTabs: function(latlong, tabs, opts) { /// /// Opens a tabbed info window at the given point. Pans the map such that the opened info window is fully visible. The content of the info window is given as DOM nodes. /// /// The point to open the window /// The DOM elements for the contents /// (optional) The options as javascript object literal. Options are: /// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// 2. maxWidth: Number - Maximum width of the info window content, in pixels. /// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83). /// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed. /// 5. onCloseFn: function - Function is called when the info window is closed. /// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 7. mapType: google.maps.MapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 10. pixelOffset: google.maps.Size - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given google.maps.LatLng. (Since 2.98). /// }, openInfoWindowTabsHtml: function(latlong, html, opts) { /// /// Opens a tabbed info window at the given point. Pans the map such that the opened info window is fully visible. The content of the info window is given as HTML text. /// /// The point to open the window /// The html text contents /// (optional) The options as javascript object literal. Options are: /// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// 2. maxWidth: Number - Maximum width of the info window content, in pixels. /// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83). /// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed. /// 5. onCloseFn: function - Function is called when the info window is closed. /// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 7. mapType: google.maps.MapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 10. pixelOffset: google.maps.Size - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given google.maps.LatLng. (Since 2.98). /// }, showMapBlowup: function(latlong, opts) { /// /// Opens an info window at the given point that contains a closeup view on the map around this point. /// /// The point to open the window /// (optional) The options as javascript object literal. Options are: /// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// 2. maxWidth: Number - Maximum width of the info window content, in pixels. /// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83). /// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed. /// 5. onCloseFn: function - Function is called when the info window is closed. /// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 7. mapType: google.maps.MapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 10. pixelOffset: google.maps.Size - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given google.maps.LatLng. (Since 2.98). /// }, updateInfoWindow: function(tabs, onupdate) { /// /// Updates the content of the currently open google.maps.InfoWindow object, without repositioning. The info window is resized to fit the new content. The optional onupdate callback function is called after the info window content is actually changed. (Since 2.85) /// /// The DOM elements for the contents /// (optional) callback function }, updateCurrentTab: function(modifier, onupdate) { /// /// Updates the currently selected tab, causing a resize of the google.maps.InfoWindow object, without repositioning. The modifier function is used to modify the currently selected tab and is passed a google.maps.InfoWindowTab as an argument. The optional onupdate callback function is called after the info window displays the new content. (Since 2.85) /// /// modify function /// (optional) callback function }, closeInfoWindow: function() { /// /// Closes the currently open info window. /// }, getInfoWindow: function() { /// /// Returns the info window object of this map. If no info window exists yet, it is created, but not displayed. This operation is not influenced by enableInfoWindow(). /// /// }, // Coordinate Transformations fromContainerPixelToLatLng: function(pixel) { /// /// Computes the geographical coordinates of the point at the given pixel coordinates in the DOM element that contains the map on the page. This is helpful for when you implement interaction of custom controls with the map. /// /// /// The point in the DOM element }, fromLatLngToContainerPixel: function(latlong) { /// /// Computes the pixel coordinates of the given geographical point in the DOM element that contains the map on the page. (Since 2.100) /// /// /// The Lat/Long }, fromLatLngToDivPixel: function(latlong) { /// /// Computes the pixel coordinates of the given geographical point in the DOM element that holds the draggable map. You need this method to position a custom overlay when you implement the google.maps.Overlay.redraw() method for a custom overlay. /// /// /// The Lat/Long }, fromDivPixelToLatLng: function(pixel) { /// /// Computes the geographical coordinates from pixel coordinates in the div that holds the draggable map. This may be helpful for when you implement interaction with custom overlays that don't extend the google.maps.Overlay interface. If this doesn't give you the expected output, try the fromContainerPixelToLatLng method instead. /// /// /// The point in the DOM element } }; // enum GGoogleBarLinkTarget google.maps.GOOGLEBAR_LINK_TARGET_BLANK = {}; google.maps.GOOGLEBAR_LINK_TARGET_PARENT = {}; google.maps.GOOGLEBAR_LINK_TARGET_SELF = {}; google.maps.GOOGLEBAR_LINK_TARGET_TOP = {}; //enum GGoogleBarResultList google.maps.GOOGLEBAR_RESULT_LIST_INLINE = {}; google.maps.GOOGLEBAR_RESULT_LIST_SUPPRESS = {}; //enum GMapPane google.maps.MAP_MAP_PANE = {}; google.maps.MAP_MARKER_SHADOW_PANE = {}; google.maps.MAP_MARKER_PANE = {}; google.maps.MAP_FLOAT_SHADOW_PANE = {}; google.maps.MAP_MARKER_MOUSE_TARGET_PANE = {}; google.maps.MAP_FLOAT_PANE = {}; // class google.maps.KeyboardHandler google.maps.KeyboardHandler = function(map) { /// /// Instantiate this class to add keyboard bindings to a map. The key bindings are the same as for the maps application. /// /// The Google map object }; // interface google.maps.Overlay google.maps.Overlay = function() { /// /// This interface is implemented by the google.maps.Marker, google.maps.Polyline, google.maps.TileLayerOverlay and google.maps.InfoWindow classes in the maps API library. You can implement it if you want to display custom types of overlay objects on the map. An instance of google.maps.Overlay can be put on the map with the method google.maps.Map2.addOverlay(). The map will then call the method google.maps.Overlay.initialize() on the overlay instance to display itself on the map initially. Whenever the map display changes, the map will call google.maps.Overlay.redraw() so that the overlay can reposition itself if necessary. The overlay instance can use the method google.maps.Map2.getPane() to get hold of one or more DOM container elements to attach itself to. /// /// }; google.maps.Overlay.prototype = { getZIndex: function(latitude) { /// /// Returns a CSS z-index value for a given latitude. It computes a z index such that overlays further south are on top of overlays further north, thus creating the 3D appearance of marker overlays. /// /// } }; // class google.maps.InfoWindow google.maps.InfoWindow = function() { /// /// google.maps.InfoWindow has no constructor. It is created by the map and accessed by its method google.maps.Map2.getInfoWindow(). /// }; google.maps.InfoWindow.prototype = { selectTab: function(index) { /// /// Selects the tab with the given index. This has the same effect as clicking on the corresponding tab. /// /// The index to select }, hide: function() { /// /// Makes the info window invisible. NOTE: This doesn't close the info window. It can be made visible again using show(). /// }, show: function() { /// /// Makes the info window visible if its currently invisible. /// }, isHidden: function() { /// /// Returns true if the info window is hidden. This includes the state that it's closed. /// /// }, reset: function(latlong, tabs, size, offset, selectedTab) { /// /// Resets the state of the info window. Each argument may be null and then its value will not be changed from the current value. /// /// The Lat/Long to reset /// The tabs to reset /// The size to reset /// (optional) The offset to reset /// The selected index to reset }, getPoint: function() { /// /// Returns the geographical point at which the info window is anchored. The tip of the window points to this point on the map, modulo the pixel offset. /// /// }, getPixelOffset: function() { /// /// Returns 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. /// /// }, getSelectedTab: function() { /// /// Returns the index, starting at 0, of the current selected tab. /// /// }, getTabs: function() { /// /// Returns the array of tabs in this info window. (Since 2.59) /// /// }, getContentContainers: function() { /// /// Returns the array of DOM nodes that hold the content of the tabs of this info window. (Since 2.59) /// /// }, enableMaximize: function() { /// /// Enables maximization of the info window. A maximizable info window expands to fill most of the map with contents specified via the maxContent and maxTitle properties of google.maps.InfoWindowOptions. The info window must have been opened with maxContent or maxTitle options in order for enableMaximize() or disableMaximize to have any effect. An info window opened with maxContent or maxTitle will have maximization enabled by default. (Since 2.93) /// }, disableMaximize: function() { /// /// Disables maximization of the info window. The infowindow must have been opened with maxContent or maxTitle options. Note that if the info window is currently opened, this function will remove the maximize buton but will not restore the window to its minimized state. (Since 2.93) /// }, maximize: function() { /// /// Maximizes the infowindow. The infowindow must have been opened with maxContent or maxTitle options, and it must not have had its maximization disabled through disableMaximize. (Since 2.93). /// }, restore: function() { /// /// Restores the info window to its default (non-maximized) state. The infowindow must have been opened with maxContent or maxTitle options. (Since 2.93). /// } }; // class google.maps.InfoWindowTab google.maps.InfoWindowTab = function(label, content) { /// /// Creates an info window tab data structure that can be passed in the tabs argument to openInfoWindowTabs*() methods. /// /// /// The tab label /// The tab contents }; // class google.maps.Marker google.maps.Marker = function(latlong, opts) { /// /// 1. google.maps.Marker(latlng, opts) - Creates a marker at the latlng with options specified in google.maps.MarkerOptions. By default markers are clickable & have the default icon google.maps.DEFAULT_ICON. (Since 2.50). /// 2. google.maps.Marker(latlong, icon, inert) - Creates a marker at the passed latlng of either google.maps.Point or google.maps.LatLng with icon or the google.maps.DEFAULT_ICON. If the inert flag is true, then the marker is not clickable and will not fire any events. (Deprecated since 2.50). /// /// /// The Lat/Long of the marker /// (optional) The options as javascript object literal. Options are: /// 1. icon: google.maps.Icon - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// 2. dragCrossMove: Boolean - Maximum width of the info window content, in pixels. /// 3. title: String - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83). /// 4. clickable: Boolean - Function is called after the info window is opened and the content is displayed. /// 5. draggable: Boolean - Function is called when the info window is closed. /// 6. bouncy: Boolean - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 7. bounceGravity: Number - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// 8. autoPan: Boolean - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 9. zIndexProcess: function - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// }; google.maps.Marker.prototype = { openInfoWindow: function(content, opts) { /// /// Opens the map info window over the icon of the marker. The content of the info window is given as a DOM node. Only option google.maps.InfoWindowOptions.maxWidth is applicable. /// /// The contents of the window /// (optional) The options as javascript object literal. Options are: /// 1. maxWidth: Number - Maximum width of the info window content, in pixels. /// }, openInfoWindowHtml: function(content, opts) { /// /// Opens the tabbed map info window over the icon of the marker. The content of the info window is given as an array of tabs that contain the tab content as DOM nodes. Only options google.maps.InfoWindowOptions.maxWidth and InfoWindowOptions.selectedTab are applicable. /// /// The contents of the window as html text /// (optional) The options as javascript object literal. Options are: /// 1. maxWidth: Number - Maximum width of the info window content, in pixels. /// 2. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// }, openInfoWindowTabs: function(tabs, opts) { /// /// Opens the tabbed map info window over the icon of the marker. The content of the info window is given as an array of tabs that contain the tab content as DOM nodes. Only options google.maps.InfoWindowOptions.maxWidth and InfoWindowOptions.selectedTab are applicable. /// /// The tabs /// (optional) The options as javascript object literal. Options are: /// 1. maxWidth: Number - Maximum width of the info window content, in pixels. /// 2. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// }, openInfoWindowTabsHtml: function(tabs, opts) { /// /// Opens the tabbed map info window over the icon of the marker. The content of the info window is given as an array of tabs that contain the tab content as Strings that contain HTML text. Only options InfoWindowOptions.maxWidth and InfoWindowOptions.selectedTab are applicable. /// /// The tabs /// (optional) The options as javascript object literal. Options are: /// 1. maxWidth: Number - Maximum width of the info window content, in pixels. /// 2. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// }, bindInfoWindow: function(content, opts) { /// /// Binds the given DOM node to this marker. The content within this node will be automatically displayed in the info window when the marker is clicked. Pass content as null to unbind. (Since 2.85). /// /// The contents /// (optional) The options as javascript object literal. Options are: /// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// 2. maxWidth: Number - Maximum width of the info window content, in pixels. /// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83). /// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed. /// 5. onCloseFn: function - Function is called when the info window is closed. /// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 7. mapType: google.maps.MapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 10. pixelOffset: google.maps.Size - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given google.maps.LatLng. (Since 2.98). /// }, bindInfoWindowHtml: function(content, opts) { /// /// Binds the given HTML to this marker. The HTML content will be automatically displayed in the info window when the marker is clicked. Pass content as null to unbind. (Since 2.85) /// /// The contents as HTML text. /// (optional) The options as javascript object literal. Options are: /// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// 2. maxWidth: Number - Maximum width of the info window content, in pixels. /// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83). /// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed. /// 5. onCloseFn: function - Function is called when the info window is closed. /// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 7. mapType: google.maps.MapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 10. pixelOffset: google.maps.Size - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given google.maps.LatLng. (Since 2.98). /// }, bindInfoWindowTabs: function(tabs, opts) { /// /// Binds the given google.maps.InfoWindowTabs (provided as DOM nodes) to this marker. The content within these tabs' nodes will be automatically displayed in the info window when the marker is clicked. Pass tabs as null to unbind. (Since 2.85). /// /// The tabs /// (optional) The options as javascript object literal. Options are: /// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// 2. maxWidth: Number - Maximum width of the info window content, in pixels. /// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83). /// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed. /// 5. onCloseFn: function - Function is called when the info window is closed. /// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 7. mapType: google.maps.MapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 10. pixelOffset: google.maps.Size - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given google.maps.LatLng. (Since 2.98). /// }, bindInfoWindowTabsHtml: function(tabs, opts) { /// /// Binds the given google.maps.InfoWindowTabs (provided as strings of HTML) to this marker. The HTML content within these tabs will be automatically displayed in the info window when the marker is clicked. Pass tabs as null to unbind. (Since 2.85). /// /// The tabs /// (optional) The options as javascript object literal. Options are: /// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0). /// 2. maxWidth: Number - Maximum width of the info window content, in pixels. /// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83). /// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed. /// 5. onCloseFn: function - Function is called when the info window is closed. /// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 7. mapType: google.maps.MapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93). /// 10. pixelOffset: google.maps.Size - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given google.maps.LatLng. (Since 2.98). /// }, closeInfoWindow: function() { /// /// Closes the info window only if it belongs to this marker. (Since 2.85). /// }, showMapBlowup: function(opts) { /// /// Opens the map info window over the icon of the marker. The content of the info window is a closeup map around the marker position. Only options InfoWindowOptions.zoomLevel and InfoWindowOptions.mapType are applicable. /// /// (optional) The options as javascript object literal. Options are: /// 1. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window. /// 2. mapType: google.maps.MapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window. /// }, getIcon: function() { /// /// Returns the icon of this marker, as set by the constructor. /// /// }, getTitle: function() { /// /// Returns the title of this marker, as set by the constructor via the google.maps.MarkerOptions.title property. Returns undefined if no title is passed in. (Since 2.85) /// /// }, getPoint: function() { /// /// Returns the geographical coordinates at which this marker is anchored, as set by the constructor or by setPoint(). (Deprecated since 2.88). /// /// }, getLatLng: function() { /// /// Returns the geographical coordinates at which this marker is anchored, as set by the constructor or by setLatLng(). (Since 2.88). /// /// }, setPoint: function(latlng) { /// /// Sets the geographical coordinates of the point at which this marker is anchored. (Deprecated since 2.88). /// /// The Lat/Long to set. }, setLatLng: function(latlng) { /// /// Sets the geographical coordinates of the point at which this marker is anchored. (Since 2.88). /// /// The Lat/Long to set. }, enableDragging: function() { /// /// Enables the marker to be dragged and dropped around the map. To function, the marker must have been initialized with google.maps.MarkerOptions.draggable = true. /// }, disableDragging: function() { /// /// Disables the marker from being dragged and dropped around the map. /// }, draggable: function() { /// /// Returns true if the marker has been initialized via the constructor using google.maps.MarkerOptions.draggable = true. Otherwise, returns false. /// /// }, draggingEnabled: function() { /// /// Returns true if the marker is currently enabled for the user to drag on the map. /// /// }, setImage: function(url) { /// /// Requests the image specified by the url to be set as the foreground image for this marker. Note that neither the print image nor the shadow image are adjusted. Therefore this method is primarily intended to implement highlighting or dimming effects, rather than drastic changes in marker's appearances. (Since 2.75). /// /// The url of the image. }, hide: function() { /// /// Hides the marker if it is currently visible. Note that this function triggers the event google.maps.Marker.visibilitychanged in case the marker is currently visible. (Since 2.77). /// }, show: function() { /// /// Shows the marker if it is currently hidden. Note that this function triggers the event google.maps.Marker.visibilitychanged in case the marker is currently hidden. (Since 2.77). /// }, isHidden: function() { /// /// Returns true if the marker is currently hidden. Otherwise returns false. (Since 2.77) /// } }; // TODO: class google.maps.Polyline // TODO: class google.maps.Polygon // TODO: class google.maps.ScreenOverlay // TODO: class google.maps.ScreenPoint // TODO: class google.maps.ScreenSize // TODO: class google.maps.GroundOverlay //class google.maps.Icon google.maps.Icon = function(copy, image) { /// /// Creates a new icon object. If another icon is given in the optional copy argument, its properties are copied, otherwise they are left empty. The optional argument image sets the value of the image property. /// /// /// (optional) The icon to copy. Note that you can use the default Maps icon google.maps.DEFAULT_ICON if you don't want to specify your own. /// (optional) The foreground image URL of the icon. /// The foreground image URL of the icon. /// The shadow image URL of the icon. /// The pixel size of the foreground image of the icon. /// The pixel size of the shadow image. /// The pixel coordinate relative to the top left corner of the icon image at which this icon is anchored to the map. /// The pixel coordinate relative to the top left corner of the icon image at which the info window is anchored to this icon. /// The URL of the foreground icon image used for printed maps. It must be the same size as the main icon image given by image. /// The URL of the foreground icon image used for printed maps in Firefox/Mozilla. It must be the same size as the main icon image given by image. /// The URL of the shadow image used for printed maps. It should be a google.maps.IF image since most browsers cannot print PNG images. /// The URL of a virtually transparent version of the foreground icon image used to capture click events in Internet Explorer. This image should be a 24-bit PNG version of the main icon image with 1% opacity, but the same shape and size as the main icon. /// An array of integers representing the x/y coordinates of the image map we should use to specify the clickable part of the icon image in browsers other than Internet Explorer. /// An array of integers representing the x/y coordinates of the image map we should use to specify the clickable part of the icon image in browsers other than Internet Explorer. /// Specifies the cross image URL when an icon is dragged. (Since 2.79) /// Specifies the pixel size of the cross image when an icon is dragged. (Since 2.79) /// Specifies the pixel coordinate offsets (relative to the iconAnchor) of the cross image when an icon is dragged. (Since 2.79) }; google.maps.DEFAULT_ICON = {}; google.maps.Icon.prototype = { image: {}, shadow: {}, iconSize: {}, shadowSize: {}, iconAnchor: {}, infoWindowAnchor: {}, printImage: {}, mozPrintImage: {}, printShadow: {}, transparent: {}, imageMap: {}, maxHeight: {}, dragCrossImage: {}, dragCrossSize: {}, dragCrossAnchor: {} }; // class google.maps.Point google.maps.Point = function(x, y) { /// /// Creates a google.maps.Point object. /// /// /// x coordinate. (This value increases to the right in the Google Maps coordinate system.) /// y coordinate. (This value increases downwards in the Google Maps coordinate system.) /// x coordinate. (This value increases to the right in the Google Maps coordinate system.) /// y coordinate. (This value increases downwards in the Google Maps coordinate system.) }; google.maps.Point.prototype = { x: {}, y: {}, equals: function(other) { /// /// Returns true if the other point has equal coordinates. /// /// /// The point to compare. }, toString: function() { /// /// Returns a string that contains the x and y coordinates, in this order, separated by a comma. /// /// } }; //class google.maps.Size google.maps.Size = function(width, height) { /// /// Creates a google.maps.Size object. /// /// /// The width parameter. /// The height parameter. /// The width parameter. /// The height parameter. }; google.maps.Size.prototype = { width: {}, height: {}, equals: function(other) { /// /// Returns true iff the other size has exactly equal components. /// /// /// The size to compare. }, toString: function() { /// /// Returns a string that contains the wdith and height parameter, in this order, separated by a comma. /// /// } }; // TODO: class google.maps.Bounds // class google.maps.LatLng google.maps.LatLng = function(lat, lng, unbounded) { /// /// google.maps.LatLng is a point in geographical coordinates longitude and latitude. Notice the ordering of latitude and longitude. If the unbounded flag is true, then the numbers will be used as passed, otherwise latitude will be clamped to lie between -90 degrees and +90 degrees, and longitude will be wrapped to lie between -180 degrees and +180 degrees. /// /// /// The latitude coordinate in degrees, as a number between -90 and +90. /// The longitude coordinate in degrees, as a number between -180 and +180. // (optional) If true, then the numbers will be used as passed, otherwise latitude will be clamped to lie between -90 degrees and +90 degrees, and longitude will be wrapped to lie between -180 degrees and +180 degrees. }; google.maps.LatLng.prototype = { lat: function() { /// /// Returns the latitude coordinate in degrees, as a number between -90 and +90. If the unbounded flag was set in the constructor, this coordinate can be outside this interval. /// /// }, lng: function() { /// /// Returns the longitude coordinate in degrees, as a number between -180 and +180. If the unbounded flag was set in the constructor, this coordinate can be outside this interval. /// /// }, latRadians: function() { /// /// Returns the latitude coordinate in radians, as a number between -PI/2 and +PI/2. If the unbounded flag was set in the constructor, this coordinate can be outside this interval. /// /// }, lngRadians: function() { /// /// Returns the longitude coordinate in radians, as a number between -PI and +PI. If the unbounded flag was set in the constructor, this coordinate can be outside this interval. /// /// }, equals: function(other) { /// /// Returns true iff the other size has equal components, within certain roundoff margins. /// /// /// The Lat/Long to compare. }, distanceFrom: function(other, radius) { /// /// Returns the distance, in meters, from this point to the given point. By default, this distance is calculated given the default equatorial earth radius of 6378137 meters. The earth is approximated as a sphere, hence the distance could be off as much as 0.3%, especially in the polar extremes. You may also pass an optional radius argument to calculate distances between google.maps.LatLng coordinates on spheres of a different radius than earth. (Since 2.89). /// /// /// The Lat/Long to compare. /// (optional) The radus to calculate distances between. }, toUrlValue: function(precision) { /// /// Returns a string that represents this point in a format suitable for use as a URL parameter value, separated by a comma, without whitespace. By default, precision is returned to 6 digits, which corresponds to a resolution to 4 inches/ 11 centimeters. An optional precision parameter allows you to specify a lower precision to reduce server load. Note: prior to 2.78, this precision parameter was not available. (Since 2.78). /// /// /// (optional) The precision to return. } }; // TODO: class google.maps.LatLngBounds // interface google.maps.Control google.maps.Control = function(printable, selectable) { /// /// Creates the prototype instance for a new control class. Flag printable indicates that the control should be visible in the print output of the map. Flag selectable indicates that the control will contain text that should be selectable. /// /// /// (optional) Is control printable? /// (optional) Is control selectable? }; google.maps.Control.prototype = { printable: function() { /// /// Returns to the map if the control should be printable. /// /// }, selectable: function() { /// /// Returns to the map if the control contains selectable text. /// /// }, initialize: function(map) { /// /// Will be called by the map so the control can initialize itself. The control will use the method google.maps.Map2.getContainer() to get hold of the DOM element that contains the map, and add itself to it. It returns the added element. /// /// /// The map to initialize. }, getDefaultPosition: function() { /// /// Returns to the map the position in the map view at which the control appears by default. This will be overridden by the second argument to google.maps.Map2.addControl(). /// /// } }; //class google.maps.Control google.maps.SmallMapControl = function() { /// /// Creates a control with buttons to pan in four directions, and zoom in and zoom out. /// /// }; google.maps.SmallMapControl.prototype = new google.maps.Control(); google.maps.LargeMapControl = function() { /// /// Creates a control with buttons to pan in four directions, and zoom in and zoom out, and a zoom slider. /// /// }; google.maps.LargeMapControl.prototype = new google.maps.Control(); google.maps.SmallZoomControl = function() { /// /// Creates a control with buttons to zoom in and zoom out. /// /// }; google.maps.SmallZoomControl.prototype = new google.maps.Control(); google.maps.ScaleControl = function() { /// /// Creates a control that displays the map scale. /// /// }; google.maps.ScaleControl.prototype = new google.maps.Control(); // class google.maps.MapTypeControl google.maps.MapTypeControl = function(useShortNames) { /// /// Creates a standard map type control for selecting and switching between supported map types via buttons. /// /// /// (Optional) If true use the short (alt) names for the map types else long names by default. }; google.maps.MapTypeControl.prototype = new google.maps.Control(); // class google.maps.MenuMapTypeControl google.maps.MenuMapTypeControl = function(useShortNames) { /// /// Creates a drop-down map type control for switching between supported map types. /// /// /// (Optional) If true use the short (alt) names for the map types else long names by default. }; google.maps.MenuMapTypeControl.prototype = new google.maps.Control(); // class GHierarchicalMapTypeControl GHierarchicalMapTypeControl = function() { /// /// Creates a "nested" map type control for selecting and switching between supported map types via buttons and nested checkboxes. /// /// }; GHierarchicalMapTypeControl.prototype = { addRelationship: function(parentType, childType, childText, isDefault) { /// /// Registers a parent/child relationship between map types with the control. If childText is given, it will be displayed next to the checkbox for the child map type instead of its name. If isDefault is true, the child map type will be selected by default. Note that all relationships must be set up before the control is added. (Adding relationships after the control is added will have no effect.) (Since 2.94). /// /// The parent map type. /// The child map type. /// (optional) Text to be displayed next to the checkbox for the child map type instead of its name. /// (optional) If true, the child map type will be selected by default. }, removeRelationship: function(mapType) { /// /// Removes all relationships involving a map type from the control. (Since 2.94) /// /// The map type to remove. }, clearRelationships: function() { /// /// Removes all relationships from the control. (Since 2.94) /// }, printable: function() { /// /// Returns to the map if the control should be printable. /// /// }, selectable: function() { /// /// Returns to the map if the control contains selectable text. /// /// }, initialize: function(map) { /// /// Will be called by the map so the control can initialize itself. The control will use the method google.maps.Map2.getContainer() to get hold of the DOM element that contains the map, and add itself to it. It returns the added element. /// /// /// The map to initialize. }, getDefaultPosition: function() { /// /// Returns to the map the position in the map view at which the control appears by default. This will be overridden by the second argument to google.maps.Map2.addControl(). /// /// } }; google.maps.OverviewMapControl = function() { /// /// Creates a collapsible overview mini-map in the corner of the main map for reference location and navigation (through dragging). The google.maps.OverviewMapControl creates an overview map with a one-pixel black border. /// /// }; google.maps.OverviewMapControl.prototype = new google.maps.Control(); // TODO: class google.maps.TileLayerOptions google.maps.Event = function() { /// /// This namespace contains functions that you use to register event handlers, both for custom events and for DOM events, and to fire custom events. All the events defined by this API are custom events that are internally fired by GEvent.trigger(). /// /// }; google.maps.Event.addListener = function(source, event, handler) { /// /// Registers an event handler for a custom event on the source object. Returns a handle that can be used to eventually deregister the handler. The event handler will be called with this set to the source object. /// /// }; google.maps.Event.addDomListener = function(source, event, handler) { /// /// Registers an event handler for a DOM event on the source object. The source object must be a DOM Node. Returns a handle that can be used to eventually deregister the handler. The event handler will be called with this set to the source object. This function uses the DOM methods for the current browser to register the event handler. /// /// }; google.maps.Event.removeListener = function(handle) { /// /// Removes a handler that was installed using addListener() or addDomListener(). /// }; google.maps.Event.clearListeners = function(source, event) { /// /// Removes all handlers on the given object for the given event that were installed using addListener() or addDomListener(). /// }; google.maps.Event.clearInstanceListeners = function(source) { /// /// Removes all handlers on the given object for all events that were installed using addListener() or addDomListener(). /// }; google.maps.Event.clearNode = function(source) { /// /// Calls clearInstanceListeners on a node and all of its child nodes, recursively. /// }; google.maps.Event.trigger = function(source, event) { /// /// Fires a custom event on the source object. All remaining optional arguments after event are passed in turn as arguments to the event handler functions. /// }; google.maps.Event.bind = function(source, event, object, method) { /// /// Registers an invocation of the method on the given object as the event handler for a custom event on the source object. Returns a handle that can be used to eventually deregister the handler. /// /// }; google.maps.Event.bindDom = function(source, event, object, method) { /// /// Registers an invocation of the method on the given object as the event handler for a custom event on the source object. Returns a handle that can be used to eventually deregister the handler. /// /// }; google.maps.Event.callback = function(object, method) { /// /// Returns a closure that calls method on object. /// /// }; google.maps.Event.callbackArgs = function(object, method) { /// /// Returns a closure that calls method on object. All remaining optional arguments after method are passed in turn as arguments method when the returned function is invoked. /// /// }; google.maps.EventListener = function() { /// /// This class is opaque. It has no methods and no constructor. Its instances are returned from GEvent.addListener() or GEvent.addDomListener() and are eventually passed back to GEvent.removeListener(). /// }; // TODO: class google.maps.XmlHttp // TODO: class google.maps.Xml // TODO: class google.maps.Xslt // TODO: class google.maps.Log // TODO: class google.maps.DraggableObject // TODO: class google.maps.DraggableObjectOptions // TODO: class google.maps.GeoStatusCode // TODO: class google.maps.GeoAddressAccuracy // TODO: class google.maps.ClientGeocoder // TODO: class google.maps.GeocodeCache // TODO: class google.maps.FactualGeocodeCache // TODO: class google.maps.MarkerManager // TODO: class google.maps.MarkerManagerOptions // TODO: class google.maps.GeoXml // TODO: class google.maps.DownloadUrl // TODO: class google.maps.BrowserIsCompatible // TODO: class google.maps.Directions // TODO: class google.maps.DirectionsOptions // TODO: class google.maps.Route // TODO: class google.maps.Step // TODO: class google.maps.TrafficOverlay // TODO: class google.maps.AdsManager // TODO: class google.maps.AdsManagerOptions // TODO: class google.maps.StreetviewPanorama // TODO: class google.maps.StreetviewPanoramaOptions // TODO: class google.maps.StreetviewOverlay // TODO: class google.maps.StreetviewClient // TODO: class google.maps.StreetviewClient.ReturnValues // TODO: class google.maps.StreetviewData // TODO: class google.maps.StreetviewLocation // TODO: class google.maps.StreetviewLink // TODO: class google.maps.Pov // TODO: class google.maps.StreetviewPanorama.ErrorValues // TODO: class google.maps.GoogleBarLinkTarget // TODO: class google.maps.GoogleBarResultList // TODO: class google.maps.MapPane // TODO: class google.maps.Overlay // TODO: class google.maps.Control // TODO: class google.maps.ControlPosition // TODO: class google.maps.ControlAnchor // TODO: class google.maps.MapType // TODO: class google.maps.MapTypeOptions // TODO: class google.maps.TileLayer // TODO: class google.maps.TileLayerOverlay // TODO: class google.maps.CopyrightCollection // TODO: class google.maps.Copyright // TODO: class google.maps.Projection // TODO: class google.maps.MercatorProjection