本文档介绍了 Google Maps API 的核心功能及使用方法,包括地图控制、覆盖物管理、信息窗口操作等。同时还提供了多种事件监听及坐标转换的方法,帮助开发者更好地实现地图应用。
Google Maps API Reference
The Google Maps API is now integrated with the Google AJAX API loader, which creates a common namespace for loading and using multiple Google AJAX APIs. This framework allows you to use the optional google.maps.* namespace for all classes, methods and properties you currently use in the Google Maps API, replacing the normal G prefix with this namespace. Don't worry: the existing G namespace will continue to be supported.
For example, the GMap2 object within the Google Maps API can also be defined as google.maps.Map2.
Note that this reference documentation refers only to the existing G namespace.
If you only want to use the map to display your content, then you need to know these classes, types, and functions:
If you want to extend the functionality of the maps API by implementing your own controls, overlays, or map types, then you also need to know these classes and types:
Instantiate class GMap2 in order to create a map. This is the central class in the API. Everything else is auxiliary.
Constructor
Constructor
Description
GMap2(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 G_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. See class GMapOptions.
Methods
Configuration
Methods
Return Value
Description
enableDragging()
none
Enables the dragging of the map (enabled by default).
disableDragging()
none
Disables the dragging of the map.
draggingEnabled()
Boolean
Returns true iff the dragging of the map is enabled.
enableInfoWindow()
none
Enables info window operations on the map (enabled by default).
disableInfoWindow()
none
Closes the info window, if it is open, and disables the opening of a new info window.
infoWindowEnabled()
Boolean
Returns true iff the info window is enabled.
enableDoubleClickZoom()
none
Enables double click to zoom in and out (disabled by default). (Since 2.58)
disableDoubleClickZoom()
none
Disables double click to zoom in and out. (Since 2.58)
doubleClickZoomEnabled()
Boolean
Returns true iff double click to zoom is enabled. (Since 2.58)
enableContinuousZoom()
none
Enables continuous smooth zooming for select browsers (disabled by default). (Since 2.58)
disableContinuousZoom()
none
Disables continuous smooth zooming. (Since 2.58)
continuousZoomEnabled()
Boolean
Returns true if continuous smooth zooming is enabled. (Since 2.58)
enableScrollWheelZoom()
none
Enables zooming using a mouse's scroll wheel. Note: scroll wheel zoom is disabled by default. (Since 2.78)
disableScrollWheelZoom()
none
Disables zooming using a mouse's scroll wheel. Note: scroll wheel zoom is disabled by default. (Since 2.78)
scrollWheelZoomEnabled()
Boolean
Returns a Boolean indicating whether scroll wheel zooming is enabled. (Since 2.78)
Controls
Methods
Return Value
Description
addControl(control, position?)
none
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 GControl.getDefaultPosition() method. A control instance must not be added more than once to the map.
removeControl(control)
none
Removes the control from the map. It does nothing if the control was never added to the map.
getContainer()
Node
Returns the DOM object that contains the map. Used by GControl.initialize().
Map Types
Methods
Return Value
Description
getMapTypes()
Array of GMapType
Returns the array of map types registered with this map.
Returns the the visible rectangular region of the map view in geographical coordinates.
getBoundsZoomLevel(bounds)
Number
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.
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.
panTo(center)
none
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.
panBy(distance)
none
Starts a pan animation by the given distance in pixels.
panDirection(dx, dy)
none
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.
setZoom(level)
none
Sets the zoom level to the given new value.
zoomIn()
none
Increments zoom level by one.
zoomOut()
none
Decrements zoom level by one.
savePosition()
none
Stores the current map position and zoom level for later recall by returnToSavedPosition().
returnToSavedPosition()
none
Restores the map view that was saved by savePosition().
checkResize()
none
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
Methods
Return Value
Description
addOverlay(overlay)
none
Adds an overlay to the map and fires the addoverlay event.
removeOverlay(overlay)
none
Removes the overlay from the map. If the overlay was on the map, it fires the removeoverlay event.
clearOverlays()
none
Removes all overlay from the map, and fires the clearoverlays event.
getPane(pane)
Node
Returns a DIV that holds the object in the layer identified by pane. Used by GOverlay instances in method GOverlay.initialize() instances to draw themselves on the map
Info Window
Methods
Return Value
Description
openInfoWindow(point, node, opts?)
none
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.
openInfoWindowHtml(point, html, opts?)
none
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.
openInfoWindowTabs(point, tabs, opts?)
none
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.
openInfoWindowTabsHtml(point, tabs, opts?)
none
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.
showMapBlowup(point, opts?)
none
Opens an info window at the given point that contains a closeup view on the map around this point.
updateInfoWindow(tabs, onupdate?)
none
Updates the content of the currently open GInfoWindow 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)
updateCurrentTab(modifier, onupdate?)
none
Updates the currently selected tab, causing a resize of the GInfoWindow object, without repositioning. The modifier function is used to modify the currently selected tab and is passed a GInfoWindowTab as an argument. The optional onupdate callback function is called after the info window displays the new content. (Since 2.85)
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().
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 GOverlay.redraw() method for a custom overlay.
Computes the geographical coordinates from pixel coordinates in the div that holds the draggable map. You need this when you implement interaction with custom overlays.
Computes the geographical coordinates of the point at the given pixel coordinates in the DOM element that contains the map on the page. You need this when you implement interaction of custom controls with the map.
Events
Events
Arguments
Description
addmaptype
type
This event is fired when a map type is added to the map.
removemaptype
type
This event is fired when a map type is removed from the map.
click
overlay, point
This event is fired when the map is clicked with the mouse. If the click was on a marker, then the marker is passed to the event handler in the overlay argument, and a click event is also fired on the marker. Otherwise, the geographical coordinates of the point that was clicked are passed in the point argument.
dblclick
overlay, point
This event is fired when a double click is done on the map. Notice that this event will not be fired if the double click was on a marker. The geographical coordinates of the point that was double clicked are passed in the point argument. The overlay argument is always set to null. (Since 2.83)
singlerightclick
point, src, overlay?
This event is fired when the DOM contextmenu event is fired on the map container. If the right click was on a marker, then the marker is passed to the event handler in the overlay argument. The pixel coordinates (in the DOM element that holds the map) of the point that was right clicked and the source element of the DOM event are passed in the point and src arguments respectively. Note that if it is a double right click and double click to zoom is enabled, then the map zooms out and no singlerightclick event is fired. If, however, double click to zoom is disabled, two singlerightclick events will be fired. (Since 2.84)
movestart
none
This event is fired when the map view starts changing. This can be caused by dragging, in which case a dragstart event is also fired, or by invocation of a method that changes the map view.
move
none
This event is fired, possibly repeatedly, while the map view is changing.
moveend
none
This event is fired when the change of the map view ends.
zoomend
oldLevel, newLevel
This event is fired when the map reaches a new zoom level. The event handler receives the previous and the new zoom level as arguments.
maptypechanged
none
This event is fired when another map type is selected.
infowindowopen
none
This event is fired when the info window opens.
infowindowbeforeclose
none
This event is fired before the info window closes. (Since 2.83)
infowindowclose
none
This event is fired when the info window closes. The event infowindowbeforeclose is fired before this event. If a currently open info window is reopened at a different point using another call to openInfoWindow*(), the events infowindowbeforeclose, infowindowclose and infowindowopen are fired in this order.
addoverlay
overlay
This event is fired when a single overlay is added to the map by the method addOverlay(). The new overlay is passed as an argument overlay to the event handler.
removeoverlay
overlay
This event is fired when a single overlay is removed by the method removeOverlay(). The overlay that was removed is passed as an argument overlay to the event handler.
clearoverlays
none
This event is fired when all overlays are removed at once by the method clearOverlays().
mouseover
latlng
This event is fired when the user moves the mouse over the map from outside the map.
mouseout
latlng
This event is fired when the user moves the mouse off the map.
mousemove
latlng
This event is fired when the user moves the mouse inside the map.
dragstart
none
This event is fired when the user starts dragging the map.
drag
none
This event is repeatedly fired while the user drags the map.
dragend
none
This event is fired when the user stops dragging the map.
load
none
This event is fired when the map setup is complete, and isLoaded() would return true. This means position, zoom, and map type are all initialized, but tile images may still be loading. (Since 2.52)