Google 地图 API 参考

北大青鸟鲁广校区 2008-04-25

Google 地图 API 现在与 Google AJAX API 加载器集成,后者为加载和使用多个 Google AJAX API 创建了一个公共的名称空间。此框架允许您对 Google 地图 API 中当前使用的所有类、方法和属性使用 google.maps.* 可选名称空间,用此名称空间替换普通的 G 前缀。不要担心:现有的 G 名称空间依然受支持。 字串3


例如,Google 地图 API 中的 GMap2 对象也可以定义为 google.maps.Map2.

字串3


注意,此参考文档仅针对现有 G 名称空间。

字串7

如果您想要在地图上显示您的内容,则需要了解以下类、类型和函数: 字串1

如果想要通过实现您自己的控件、叠加层或地图类型来扩展地图 API 的功能,那么您同样需要了解以下类和类型:

字串1

class GMap2

对类 GMap2 实例化以创建地图。这是 API 中的中心类。其他的都是辅助类。

字串5

构造函数

构造函数 描述
GMap2(container, opts?) 在给定的 HTML 容器中创建新的地图,该容器通常是一个 DIV 元素。如果可选参数 opts.mapTypes 中没有给出地图类型集,则使用默认的集合 G_DEFAULT_MAP_TYPES。如果可选参数 opts.size 中没有给出大小,则使用 container 的大小。如果给出了 opts.size,则相应地调整地图容器元素的大小。请参阅 class GMapOptions

方法

配置

方法 返回值 描述
enableDragging() none 启用地图拖拽(默认情况下启用)。
disableDragging() none 禁用地图拖拽。
draggingEnabled() Boolean 当且仅当启用地图拖拽时,返回 true
enableInfoWindow() none 启用地图上的信息窗口操作(默认情况下启用)。
disableInfoWindow() none 如果信息窗口处于打开状态,请关闭它并禁用打开新信息窗口。
infoWindowEnabled() Boolean 当且仅当启用信息窗口时,返回 true
enableDoubleClickZoom() none 启用双击缩放地图(默认情况下禁用)。(自 2.58 开始)
disableDoubleClickZoom() none 禁用双击缩放地图。(自 2.58 开始)
doubleClickZoomEnabled() Boolean 当且仅当启用了双击缩放地图时,返回 true。(自 2.58 开始)
enableContinuousZoom() none 启用选择浏览器的连续平滑缩放(默认情况下禁用)。(自 2.58 开始)
disableContinuousZoom() none 禁用连续平滑缩放。(自 2.58 开始)
continuousZoomEnabled() Boolean 如果启用了连续平滑缩放,则返回 true。(自 2.58 开始)
enableScrollWheelZoom() none 启用使用鼠标滚轮缩放。注:默认情况下禁用滚轮缩放。(自 2.78 开始)
disableScrollWheelZoom() none 禁用使用鼠标滚轮缩放。注:默认情况下禁用滚轮缩放。(自 2.78 开始)
scrollWheelZoomEnabled() Boolean 返回一个布尔值,表示是否启用了滚轮缩放。(自 2.78 开始)

控件

方法 返回值 描述
addControl(control, position?) none 将控件添加到地图。地图上的位置由可选的 position 参数确定。如果此参数不存在,则使用由 GControl.getDefaultPosition() 方法确定的控件默认位置。一个控件实例只能向地图中添加一次。
removeControl(control) none 从地图中删除控件。如果控件从未被添加到地图中,则该操作不起任何作用。
getContainer() Node 返回包含地图的 DOM 对象。由 GControl.initialize() 使用。

地图类型

方法 返回值 描述
getMapTypes() Array of GMapType 返回在此地图中注册的地图类型数组。
getCurrentMapType() GMapType 返回当前选中的地图类型。
setMapType(type) none 选择给定的新地图类型。类型必须是为地图所知的类型。请参阅构造函数和方法 addMapType()
addMapType(type) none 将新地图类型添加到地图中。有关如何定义自定义地图类型的信息,请参阅 GMapType 部分。
removeMapType(type) none 从地图中删除地图类型。将更新通过 GMapTypeControl 显示的按钮集,并触发 removemaptype 事件。

地图状态

方法 返回值 描述
isLoaded() Boolean 当且仅当地图在创建后就用 setCenter() 进行初始化时,返回 true
getCenter() GLatLng 返回地图当前视图中心点的地理坐标。
getBounds() GLatLngBounds 返回地图视图的可视矩形区域,用地理坐标表示。
getBoundsZoomLevel(bounds) Number 返回给定矩形区域恰好可以放在地图视图中时的缩放级别。缩放级别要按当前选中的地图类型计算。如果还未选择地图类型,将使用地图类型列表中列出的第一个类型。
getSize() GSize 返回地图视图的大小(以像素表示)。
getZoom() Number 返回当前的缩放级别。

修改地图状态

方法 返回值 描述
setCenter(center, zoom?, type?) none 按给定的中心点设置地图视图。也可以同时设置缩放级别和地图类型。地图类型必须是为地图所知的类型。请参阅构造函数和方法 addMapType()。必须在构造地图后先调用此方法,才能设置地图的初始状态。在构造后先调用地图上的其他操作是错误的。
panTo(center) none 将地图的中心点更改为给定的点。如果该点在当前地图视图中已经可见,则以平移动画的方式更改中心点。
panBy(distance) none 按给定的距离(以像素表示)开始平移动画。
panDirection(dx, dy) none 在指定方向上开始平移动画,移动幅度为地图宽度的一半,+1 是向右或向下方向,-1 是向左或向上方向。
setZoom(level) none 将缩放级别设置为给定的新值。
zoomIn() none 按 1 递增缩放级别。
zoomOut() none 按 1 递减缩放级别。
savePosition() none 存储当前的地图位置和缩放级别,以便以后用 returnToSavedPosition() 重新还原。
returnToSavedPosition() none 恢复用 savePosition() 保存的地图视图。
checkResize() none 通知地图其容器大小已更改。在更改了容器 DOM 对象的大小后调用此方法,以便地图能够适应新的大小。

叠加层

方法 返回值 描述
addOverlay(overlay) none 将叠加层添加到地图中,并触发 addoverlay 事件。
removeOverlay(overlay) none 从地图中删除叠加层。如果地图中存在叠加层,则会触发 removeoverlay 事件。
clearOverlays() none 从地图中删除所有叠加层,并触发 clearoverlays 事件。
getPane(pane) Node 返回包含 pane 所标识的层中的对象的 DIV。GOverlay 实例在方法 GOverlay.initialize() 中调用它,以便在地图上绘制这些实例自身。

信息窗口

方法 返回值 描述
openInfoWindow(point, node, opts?) none 在给定的点打开简单的信息窗口。在地图上将地图平移到使打开的信息窗口完全可见的位置。信息窗口的内容为 DOM 节点。
openInfoWindowHtml(point, html, opts?) none 在给定的点打开简单的信息窗口。在地图上将地图平移到使打开的信息窗口完全可见的位置。信息窗口的内容显示为 HTML 文本。
openInfoWindowTabs(point, tabs, opts?) none 在给定的点打开带标签页的信息窗口。在地图上将地图平移到使打开的信息窗口完全可见的位置。信息窗口的内容为 DOM 节点。
openInfoWindowTabsHtml(point, tabs, opts?) none 在给定的点打开带标签页的信息窗口。在地图上将地图平移到使打开的信息窗口完全可见的位置。信息窗口的内容显示为 HTML 文本。
showMapBlowup(point, opts?) none 在给定的点打开信息窗口,窗口内包含地图上环绕此点的一个近景视图。
updateInfoWindow(tabs, onupdate?) none 更新当前打开的 GInfoWindow 对象的内容,而不重新定位。这样,就会按新内容的大小来调整信息窗口的大小。对信息窗口内容进行实际更改后,将调用可选的 onupdate 回调函数。(自 2.85 开始)
updateCurrentTab(modifier, onupdate?) none 更新当前选中的标签页会引起对 GInfoWindow 对象的大小调整,而不重置。modifier 函数用于修改当前选中的标签页,并且将 GInfoWindowTab 作为参数传递。在信息窗口显示新内容后,调用可选的 onupdate 回调函数。(自 2.85 开始)
closeInfoWindow() none 关闭当前打开的信息窗口。
getInfoWindow() GInfoWindow 返回此地图的信息窗口对象。如果还没有信息窗口,将创建一个信息窗口,但不显示它。此操作不受 enableInfoWindow() 影响。

坐标变换

方法 返回值 描述
fromLatLngToDivPixel(latlng) GPoint 计算含有可拖拽地图的 DOM 元素中的地理位置所对应的像素坐标。为自定义叠加层实现 GOverlay.redraw() 方法时,需要用此方法计算自定义叠加层的位置。
fromDivPixelToLatLng(pixel) GLatLng 计算含有可拖拽地图的 div 中的像素坐标所对应的地理坐标。实现与自定义叠加层的交互时需要使用此方法。
fromContainerPixelToLatLng(pixel) GLatLng 计算页面含有地图的 DOM 元素中的像素坐标点所对应的地理坐标。实现自定义控件与地图的交互时需要使用此方法。

事件

事件 参数 描述
addmaptype type 向地图中添加地图类型时会触发此事件。
removemaptype type 从地图中删除地图类型时会触发此事件。
click overlay, point 用鼠标单击地图时会触发此事件。如果单击了某个标记,则该标记将通过 overlay 参数传递给事件处理程序,并且还在标记上触发 click 事件。否则,被单击点的地理坐标将在 point 参数中传递。
dblclick overlay, point 双击地图时触发会此事件。注意,双击标记时不触发此事件。被双击点的地理坐标将在 point 参数中传递。overlay 参数总是设置为 null。(自 2.83 开始)
singlerightclick point, src, overlay? 在地图容器中触发 DOM contextmenu 事件时会触发此事件。如果右击某个标记,则该标记将通过 overlay 参数传递给事件处理程序。被右击点的像素坐标(在包含地图的 DOM 元素中)和 DOM 事件的源元素将分别在 pointsrc 参数中传递。注意,如果在启用了双击缩放的情况下进行右键双击,则缩小地图,不触发 singlerightclick 事件。但是,如果禁用了双击缩放,则触发两个 singlerightclick 事件。(自 2.84 开始)
movestart none 地图视图开始更改时会触发此事件。拖拽操作或调用更改地图视图的方法时也会触发此事件,前者还同时触发 dragstart 事件。
move none 更改地图视图时会触发此事件,并且可能是重复触发。
moveend none 结束地图视图的更改时会触发此事件。
zoomend oldLevel, newLevel 地图到达新的缩放级别时会触发此事件。事件处理程序将接收先前缩放级别和新缩放级别作为参数。
maptypechanged none 选择另一地图类型时会触发此事件。
infowindowopen none 打开信息窗口时会触发此事件。
infowindowbeforeclose none 关闭信息窗口前会触发此事件。(自 2.83 开始)
infowindowclose none 关闭信息窗口时会触发此事件。此事件发生前会触发 infowindowbeforeclose 事件。如果通过再次调用 openInfoWindow*() 在其他点重新打开当前已打开的信息窗口,则会先后触发 infowindowbeforecloseinfowindowcloseinfowindowopen 事件。
addoverlay overlay 当使用 addOverlay() 方法向地图中添加单个叠加层时会触发此事件。新的叠加层将作为参数 overlay 传递到事件处理程序中。
removeoverlay overlay 当使用 removeOverlay() 方法删除单个叠加层时会触发此事件。删除的叠加层将作为参数 overlay 传递到事件处理程序中。
clearoverlays none 当使用 clearOverlays() 方法一次性删除全部叠加层时会触发此事件。
mouseover latlng 当用户将鼠标从地图外面移动到地图上时会触发此事件。
mouseout latlng 当用户将鼠标移离地图时会触发此事件。
mousemove latlng 当用户在地图中移动鼠标时会触发此事件。
dragstart none 当用户开始拖拽地图时会触发此事件。
drag none 当用户拖拽地图时会重复触发此事件。
dragend none 当用户停止拖拽地图时会触发此事件。
load none 当完成地图设置时会触发此事件,并且 isLoaded() 会返回 true。这表示位置、缩放和地图类型都已完成初始化,但可能还在装载图块图像。(自 2.52 开始)

class GMapOptions

此类代表 GMap2 构造函数的可选参数。它没有构造函数,但可实例化为 object literal。

字串9

属性

属性 类型 描述
size GSize 按像素设置地图大小。要传递到地图构造函数中的容器将会调整到给定大小。默认情况下,地图会采用其容器的大小。
mapTypes Array of GMapType 此地图要使用的地图类型数组。默认情况下使用 G_DEFAULT_MAP_TYPES。使用此选项可以限制地图中显示的预定义地图类型集,或者将自定义的地图类型传递到地图中。另请参阅 GMap2.addMapType()
draggableCursor String 地图可拖拽时显示的光标。(自 2.59 开始)
draggingCursor String 拖拽地图时显示的光标。(自 2.59 开始)

enum GMapPane

这些常数定义地图的分层系统,叠加层通过它们来进行分层显示。图标、阴影、信息窗口、信息窗口上的阴影和可捕获鼠标事件的隐形对象都有不同的层。 字串5

如果有来自 GOverlay 的子类就需要使用此类型。 字串3

常数

常数 描述
G_MAP_MAP_PANE 此面板恰好在地图之上,而在标记阴影之下,比如折线。
G_MAP_MARKER_SHADOW_PANE 此面板包含标记阴影。它在标记之下。
G_MAP_MARKER_PANE 此面板包含标记。
G_MAP_FLOAT_SHADOW_PANE 此面板包含信息窗口阴影。它在 G_MAP_MARKER_PANE 之上,以便将标记包含在信息窗口的阴影中。
G_MAP_MARKER_MOUSE_TARGET_PANE 此面板包含隐形元素,可为标记接收 DOM 鼠标事件。它在 G_MAP_FLOAT_SHADOW_PANE 之上,以便于单击信息窗口阴影中的标记。
G_MAP_FLOAT_PANE 此面板包含信息窗口。它在地图的最上面。

class GKeyboardHandler

对此类实例化,以便向地图中添加键盘绑定。该键盘绑定类似于地图应用程序的键盘绑定。

字串3

操作
向上,向下,向左,向右 按下这些键时可连续移动地图。同时按下其中两个键可对角移动。
下一页,上一页,首页,尾页 在相应方向上将地图平移其 3/4 大小,以漂亮的动画显示。其作用等同于 GLargeMapControl 和 GsmallMapControl 中的箭头按钮。
+, - 分别放大或缩小一个级别。其作用等同于 GLargeMapControl 和 GsmallMapControl 中的 + 和 - 按钮。

构造函数

构造函数 描述
GKeyboardHandler(map) 为作为参数输入的地图安装键盘事件处理程序。

interface GOverlay

此接口由地图 API 库中的 GMarkerGPolylineGTileLayerOverlayGInfoWindow 类来实现。如果希望在地图上显示自定义的叠加层对象类型,可以实现该接口。可使用 GMap2.addOverlay() 方法,将 GOverlay 实例放置于地图上。然后,地图在叠加层实例上调用 GOverlay.initialize() 方法,将叠加层显示在地图上。每当地图显示更改时,都会调用 GOverlay.redraw(),这样叠加层就可以在需要时对自己进行刷新。叠加层实例可使用方法 GMap2.getPane() 为自己获取一个或多个要与之关联的 DOM 容器元素。 字串3

构造函数

构造函数 描述
GOverlay() 此构造函数为如下方法创建哑元实现。尽管如此,当有继承自此类的派生类时,派生类的构造函数需要调用此构造函数,才完成构造。

静态方法

静态方法 返回值 描述
getZIndex(latitude) Number 返回给定纬度的 CSS z-index 值(即 z 轴索引值)。它计算 z 索引,使靠南的叠加层在靠北的叠加层之上,从而创建标记叠加层的 3D 外观。

抽象方法

抽象方法 返回值 描述
initialize(map) none 使用 GMap2.addOverlay() 向地图中添加叠加层后,由地图调用此方法。叠加层对象可以将其本身拖曳到地图中的各个面板中,这些面板可使用 GMap2.getPane() 获取。
remove() none 使用 GMap2.removeOverlay()GMap2.clearOverlays() 从地图中删除叠加层后,由地图调用此方法。在此叠加层必须将自己从地图面板中删除。
copy() GOverlay 返回叠加层的未初始化副本,可添加到地图中。
redraw(force) none 此方法在地图显示更新后由地图调用。如果更新了地图视图的缩放级别或像素偏移量,需要重新计算像素坐标,则参数 forcetrue

class GInfoWindow

GInfoWindow 不包含构造函数。它是由地图创建的,可使用 GMap2.getInfoWindow() 方法进行访问。 字串5

方法

方法 返回值 描述
selectTab(index) none 选择含给定索引的标签页。它的效果等同于单击相应标签页。
hide() none 隐藏信息窗口。注:该操作并不关闭信息窗口。使用 show() 可重新显示信息窗口。
show() none 如果信息窗口当前处于隐藏状态,则可显示信息窗口。
isHidden() Boolean 当且仅当隐藏了信息窗口时,返回 true。这包括关闭状态。
reset(point, tabs, size, offset?, selectedTab?) none 重置信息窗口的状态。每个参数都可设为 null,那么信息窗口的值不变。
getPoint() GLatLng 返回信息窗口锚定位置的地理坐标。窗口的箭头指向地图中的该点(对像素取整)。
getPixelOffset() GSize 返回信息窗口箭头所指向的地理位置(信息窗口所锚定的点)的像素偏移。
getSelectedTab() Number 返回当前所选标签页的索引值,从 0 开始。
getTabs() Array of GInfoWindowTabs 返回此信息窗口的标签页数组。(自 2.59 开始)
getContentContainers() Array of Node 返回包含此信息窗口标签页内容的 DOM 节点数组。(自 2.59 开始)

事件

事件 参数 描述
closeclick none 单击信息窗口关闭按钮时会触发此事件。此事件的处理程序可通过调用 GMap2.closeInfoWindow() 方法实现关闭信息窗口的操作。

class GInfoWindowTab

此类实例的数组可以作为 tabs 参数传递到方法 GMap2.openInfoWindowTabs()GMap2.openInfoWindowTabsHtml()GMarker.openInfoWindowTabs()GMarker.openInfoWindowTabsHtml() 以及 GMarker.bindInfoWindow*() 变体中。如果数组包含多个元素,则显示的信息窗口分为多个标签页。每个 InfoWindowTab 对象都包含两个项目:content 定义选中某标签页时其信息窗口的内容,label 定义标签页的提示信息(即标签)。该属性将作为参数传递到构造函数中。对于 openInfoWindowTabs() 方法,content 是一个 DOM 节点。对于 openInfoWindowTabsHtml() 方法,content 是一个包含 HTML 文本的字符串。 字串5

构造函数

构造函数 描述
GInfoWindowTab(label, content) 创建一个可以在 tabs 参数中传递给 openInfoWindowTabs*() 方法的信息窗口标签页数据结构。

class GInfoWindowOptions

此类的实例可用于方法 openInfoWindow()openInfoWindowHtml()openInfoWindowTabs()openInfoWindowTabsHtml() 和变体 bindInfoWindow*()opts? 参数中,以及类 GMap2GMarkershowMapBlowup()opts? 参数中。此类不存在构造函数。但是,此类可以实例化为 javascript object literal。

字串3

属性

正如此类的类名所显示的,其所有属性都是可选的。 字串3

属性 类型 描述
selectedTab Number 选择以 0 开始的、含给定索引值的标签页,而不是以索引值 0 开始的第一个标签。
maxWidth Number 信息窗口内容的最大宽度(以像素表示)。
noCloseOnClick Boolean 表明单击地图(未点中标记)时是否应关闭信息窗口。如果设置为 true,则在单击地图时不关闭信息窗口。默认值为 false。(自 2.83 开始)
onOpenFn Function 打开信息窗口并显示内容后将调用函数。
onCloseFn Function 关闭信息窗口时调用函数。
zoomLevel Number 仅限于 showMapBlowup()。信息窗口中放大的地图的缩放级别。
mapType GMapType 仅限于 showMapBlowup()。信息窗口中放大的地图的地图类型。

class GMarker

GMarker 标注地图上的位置。它实现 GOverlay 接口,因此用 GMap2.addOverlay() 方法添加到地图中。 字串6

标记对象包含 point(这是标记在地图中锚定的地理位置)和 icon。如果在构造函数中未设置 icon,则使用默认图标 G_DEFAULT_ICON

字串5

将信息窗口添加到地图中后,可在地图中通过其标记打开它。标记对象会触发鼠标事件和信息窗口事件。 字串7

构造函数

构造函数 描述
GMarker(point, icon?, inert?) 在输入的 GPointGLatLng 对应的 point 上创建带有 iconG_DEFAULT_ICON 的标记。如果 inert 标记为 true,则标记是不可单击的,也不会触发任何事件。(自 2.50 开始建议不要使用)
GMarker(latlng, opts?) 可按 GMarkerOptions 中指定的选项,在 latlng 位置创建标记。默认情况下,标记是可单击的,并且有默认图标 G_DEFAULT_ICON。(自 2.50 开始)

方法

将标记添加到地图中后,才能调用这些方法。 字串3

方法 返回值 描述
openInfoWindow(content, opts?) none 在标记图标之上打开地图信息窗口。信息窗口的内容为 DOM 节点。仅适用于 GInfoWindowOptions.maxWidth 选项。
openInfoWindowHtml(content, opts?) none 在标记图标之上打开地图信息窗口。信息窗口的内容显示为包含 HTML 文本的字符串。仅适用于 GInfoWindowOptions.maxWidth 选项。
openInfoWindowTabs(tabs, opts?) none 在标记图标之上打开带标签页的地图信息窗口。信息窗口的内容显示为标签页数组,这些标签页的内容为 DOM 节点。只有选项 GInfoWindowOptions.maxWidthInfoWindowOptions.selectedTab 适用。
openInfoWindowTabsHtml(tabs, opts?) none 在标记图标之上打开带标签页的地图信息窗口。信息窗口的内容显示为标签页数组,这些标签页中的内容为包含 HTML 文本的字符串。只有选项 InfoWindowOptions.maxWidthInfoWindowOptions.selectedTab 适用。
bindInfoWindow(content, opts?) none 将给定的 DOM 节点绑定到此标记中。当单击标记时,此节点中的内容将自动显示在信息窗口中。将 content 设置为 null 会解除绑定。(自 2.85 开始)
bindInfoWindowHtml(content, opts?) none 将给定的 HTML 绑定到此标记中。当单击标记时,HTML 内容将自动显示在信息窗口中。将 content 设置为 null 会解除绑定。(自 2.85 开始)
bindInfoWindowTabs(tabs, opts?) none 将给定的 GInfoWindowTab(作为 DOM 节点提供)绑定到此标记中。当单击标记时,这些标签页节点中的内容将自动显示在信息窗口中。将 tabs 设置为 null 会解除绑定。(自 2.85 开始)
bindInfoWindowTabsHtml(tabs, opts?) none 将给定的 GInfoWindowTab(作为 HTML 字符串提供)绑定到此标记中。当单击标记时,这些标签中的 HTML 内容将自动显示在信息窗口中。将 tabs 设置为 null 会解除绑定。(自 2.85 开始)
closeInfoWindow() none 只有当信息窗口属于此标记时,才关闭信息窗口。(自 2.85 开始)
showMapBlowup(opts?) none 在标记图标之上打开地图信息窗口。信息窗口的内容是围绕标记位置的一个封闭的放大地图。只有选项 InfoWindowOptions.zoomLevelInfoWindowOptions.mapType 适用。
getIcon() GIcon 如构造函数所设置的,返回此标记的 icon
getTitle() String 如构造函数通过 GMarkerOptions.title 属性所设置的,返回此标记的标题。如果未传入标题,则返回“undefined(未定义)”(自 2.85 开始)
getPoint() GLatLng 如构造函数或 setPoint() 所设置的,返回此标记锚定的地理坐标。(自 2.88 开始建议不要使用)
getLatLng() GLatLng 如构造函数或 setLatLng() 所设置的,返回此标记锚定的地理坐标。(自 2.88 开始)
setPoint(point) none 设置此标记所锚定点的地理坐标。(自 2.88 开始建议不要使用)
setLatLng(point) none 设置此标记所锚定点的地理坐标。(自 2.88 开始)
enableDragging() none 允许在地图上拖拽标记。对于函数,必须已经用 GMarkerOptions.draggable = true 初始化标记。
disableDragging() none 禁止在地图上拖拽标记。
draggable() Boolean 如果已使用 GMarkerOptions.draggable = true 通过构造函数对标记进行了初始化,则返回 true。否则,返回 false
draggingEnabled() Boolean 如果当前允许用户在地图中拖拽标记,则返回 true
setImage(url) none 请求将 url 指定的图像设置为此标记的前景图。注:不调整打印图像和阴影图像。因此,此方法主要是为了达到高亮显示或变暗显示效果,而不是彻底改变标记的外观。(自 2.75 开始)
hide() none 如果当前标记可见,则隐藏标记。注:如果当前标记可见,则此函数会触发 GMarker.visibilitychanged 事件。(自 2.77 开始)
show() none 如果当前标记不可见,则显示标记。注:如果当前标记不可见,则此函数会触发 GMarker.visibilitychanged 事件。(自 2.77 开始)
isHidden() Boolean 如果当前标记不可见,则返回 true。否则,返回 false。(自 2.77 开始)

事件

只有当标记处于活动状态时,才会触发上述所有事件(请参阅构造函数)。 字串1

事件 参数 描述
click none 单击了标记图标后会触发此事件。注意:同时还会为地图触发此事件,将标记作为第一个参数传递到那里的事件处理程序中。
dblclick none 双击了标记图标后会触发此事件。注意:不会为地图触发此事件,因为地图双击时置中是固定行为。
mousedown none 对标记图标触发 DOM mousedown 事件时会触发此事件。注意:标记会停止 mousedown DOM 事件,这样就不会使地图开始拖拽。
mouseup none 对标记触发 DOM mouseup 时会触发此事件。注意:标记不会停止 mousedown DOM 事件,因为它不会干扰地图的拖拽处理程序。
mouseover none 当鼠标进入标记图标区域时会触发此事件。
mouseout none 当鼠标离开标记图标区域时会触发此事件。
infowindowopen none 当通过此标记打开地图的信息窗口时会触发此事件。
infowindowbeforeclose none 关闭通过此标记打开的地图信息窗口前会触发此事件。(自 2.83 开始)
infowindowclose none 关闭通过此标记打开的地图信息窗口时会触发此事件。关闭信息窗口或在其他标记或地图上打开信息窗口时都会发生此事件。此事件发生前会触发 infowindowbeforeclose 事件。
remove none 当使用 GMap2.removeOverlay()GMap2.clearOverlays() 从地图上删除标记时会触发此事件。
dragstart none 如果启用了标记的拖拽操作,则在开始拖拽标记时会触发此事件。
drag none 如果启用了标记的拖拽操作,则在拖拽标记的过程中会触发此事件。
dragend none 如果启用了标记的拖拽操作,则在停止拖拽标记时会触发此事件。
visibilitychanged isVisible 在更改标记的可见性时会触发此事件,即可见性从可见更改为隐藏时,反之亦然。 isVisible 指在发生可见性更改后标记的状态。(自 2.77 开始)

class GMarkerOptions

此类的实例用于类 GMarker 的构造函数的 opts? 参数中。此类不存在构造函数。但是,此类可以实例化为 javascript object literal。 字串4

属性

正如此类的类名所显示的,其所有属性都是可选的。

字串4

属性 类型 描述
icon GIcon 为此类选择图标。如果未指定,则使用 G_DEFAULT_ICON。(自 2.50 开始)
dragCrossMove Boolean 正常拖拽标记时,标记将浮起并离开光标。将此值设置为 true 可以使标记保留在光标的下面,用十字光标下移代替标记浮起。此选项的默认值为 false。(自 2.63 开始)
title String 此字符串显示为标记的工具提示,也就是它的作用等同于 HTML 元素中的 title 属性。(自 2.50 开始)
clickable Boolean 在标记是否可单击之间切换。不可单击或拖拽的标记是不活动的,它消耗的资源较少但不对任何事件作出响应。此选项的默认值为 true,即未指定该选项时,标记为可单击。(自 2.50 开始)
draggable Boolean 在用户是否可拖拽标记之间切换。设置为可拖拽的标记比设置为可单击的标记所需的资源更多。可拖拽的标记同时也是可单击的标记,默认情况下启用弹跳和自动平移。此选项的默认值为 false。(自 2.61 开始)
bouncy Boolean 在拖拽完标记后是否应上下弹跳之间切换。此选项的默认值为 false。(自 2.61 开始)
bounceGravity Number 此数字用于定义完成标记拖拽操作时弹跳到地面期间标记的加速度。此选项的默认值为 1。(自 2.61 开始)
autoPan Boolean 拖拽标记到边缘时自动平移地图。如果标记是可拖拽的,则此选项的默认值为 true。(自 2.87 开始)

class GPolyline

这是一种使用浏览器的矢量制图工具(如果可用)在地图上绘制折线的地图叠加层,否则就是来自 Google 服务器的图像叠加层。 字串6

构造函数

构造函数 描述
GPolyline(latlngs, color?, weight?, opacity?, opts?) 根据顶点数组创建折线。color 是一个字符串,包含十六进制数字、HTML 样式的颜色,即 #RRGGBB。weight 是以像素表示的线宽度。 opacity 为 0 到 1 之间的数字。该线条是消除锯齿且半透明的。

工厂方法

工厂方法 返回值 描述
fromEncoded(color?, weight?, opacity?, points, zoomFactor, levels, numLevels) GPolyline 根据点集合和缩放级别集合的编码串创建折线。color 是一种包含十六进制数字 HTML 样式的字符串,即 #RRGGBB。weight 是以像素表示的线宽度。opacity 是 0 到 1 之间的数字。points 是一个包含已编码的纬度和经度坐标的字符串。levels 是一个包含已编码的折线缩放级别数组的字符串。numLevels 是已编码的 levels 字符串中所包含的表示缩放级别的数字。zoomFactor 是已编码的 levels 字符串中邻近缩放级别集合之间的放大倍率。这两个值结合使用可确定已编码的折线中 levels 的精确度。该线条是消除锯齿且半透明的。(自 2.63 开始)

方法

方法 返回值 描述
getVertexCount() Number 返回折线的顶点数目。(自 2.46 开始)
getVertex(index) GLatLng 返回折线中给定索引值对应的顶点。(自 2.46 开始)
getLength() Number 返回沿地球表面的折线长度(以米表示)。(自 2.85 开始)
getBounds() GLatLngBounds 返回此折线的边界。(自 2.85 开始)
hide() none 如果当前折线可见并且 GPolyline.supportsHide() 返回 true,则隐藏此线。注:如果当前折线可见,则此函数会触发 GPolyline.visibilitychanged 事件。(自 2.87 开始)
isHidden() Boolean 如果当前折线不可见,则返回 true。否则,返回 false。(自 2.87 开始)
show() none 如果当前折线不可见,则显示该线。注:如果当前折线不可见,则此函数会触发 GPolyline.visibilitychanged 事件。(自 2.87 开始)
supportsHide() Boolean 如果当前环境下支持 GPolyline 对象的 GPolyline.hide(),则返回 true。否则,返回 false。(自 2.87 开始)

事件

事件 参数 描述
remove none 当使用 GMap2.removeOverlay()GMap2.clearOverlays() 从地图上删除折线时会触发此事件。
visibilitychanged isVisible 当折线的可见性状态从可见更改为不可见(反之亦然)时会触发此事件。isVisible 参数反映完成此可见性状态后折线的状态。(自 2.87 开始)
click latlng 单击折线时会触发此事件。注:此事件随后还会触发地图上的“单击”事件,在该事件中折线作为 overlay 参数传递。(自 2.88 开始)

class GPolylineOptions

此类的实例用于 GPolyline 的构造函数中。此类不存在构造函数。但是,此类可以实例化为 javascript object literal。

字串9

属性

正如此类的类名所显示的,其所有属性都是可选的。 字串9

属性 类型 描述
clickable Boolean 在折线是否可单击之间切换。此选项的默认值为 true,即未指定该选项时,折线为可单击。(自 2.91 开始)
geodesic Boolean 将折线的每条边绘制为测地线(大圆的一段)。测地线是沿着地球表面的两个点之间的最近距离。(自 2.84 开始)

class GPolygon

该类除了可另外指定填充色和不透明性外,其他方面都非常类似于 GPolyline字串3

构造函数

构造函数 描述
GPolygon(points, strokeColor?, strokeWeight?, strokeOpacity?, fillColor?, fillOpacity?, opts?) 根据顶点数组创建多边形。colors 是一个字符串,包含十六进制数字、HTML 样式的颜色,即 #RRGGBB。weight 是以像素表示的线宽度。opacities 为 0 到 1 之间的数字。该线条是消除锯齿且半透明的。(自 2.69 开始)

工厂方法

工厂方法 返回值 描述
fromEncoded(polylines, fill?, color?, opacity?, outline?) GPolygon 根据点和缩放层次集合的编码字符串创建多边形(由许多条折线组成)。 polylines 包含组成多边形的折线的联合数组,其编码格式与 GPolyline.fromEncoded 文档中所描述的格式相同。fill 指定是否用某种 color 填充多边形。opacityoutline 指定是否用折线的颜色、重量和不透明性画多边形。如果在折线中指定多个值,则采用折线的第一个值。(自 2.78 开始)

方法

方法 返回值 描述
getVertexCount() Number 返回多边形中顶点数目。(自 2.69 开始)
getVertex(index) GLatLng 返回多边形中给定索引值对应的顶点。(自 2.69 开始)
getArea() Number 返回以平方米表示的多边形面积(假定地球是球形)。(自 2.85 开始)
getBounds() GLatLngBounds 返回此多边形的边界。(自 2.85 开始)
hide() none 如果当前多边形可见并且 GPolygon.supportsHide 返回 true,则隐藏该多边形。注:如果当前多边形可见,则此函数会触发 GPolygon.visibilitychanged 事件。(自 2.87 开始)
isHidden() Boolean 如果当前多边形不可见,则返回 true。否则,返回 false。(自 2.87 开始)
show() none 如果当前多边形不可见,则显示该多边形。注:如果当前多边形不可见,则此函数会触发 GPolygon.visibilitychanged 事件。(自 2.87 开始)
supportsHide() Boolean 如果当前环境下支持 GPolygon 对象的 GPolygon.hide(),则返回 true。否则,返回 false。(自 2.87 开始)

事件

事件 参数 描述
remove none 当使用 GMap2.removeOverlay()GMap2.clearOverlays() 从地图上删除多边形时会触发此事件。
visibilitychanged isVisible 当多边形的可见性状态从可见更改为不可见(反之亦然)时会触发此事件。isVisible 参数反映完成此可见性状态后多边形的状态。(自 2.87 开始)
click latlng 单击多边形时会触发此事件。注:此事件随后还会在地图上触发“click”事件,在该事件中多边形作为 overlay 参数传递。(自 2.88 开始)

class GPolygonOptions

此类的实例用于 GPolygon 的构造函数中。此类不存在构造函数。但是,此类可以实例化为 javascript object literal。

字串9

属性

正如此类的类名所显示的,其所有属性都是可选的。

字串8

属性 类型 描述
clickable Boolean 在多边形是否可单击之间切换。此选项的默认值为 true,即未指定该选项时,则多边形为可单击。(自 2.91 开始)

class GGroundOverlay

此对象可在地图中创建矩形图像叠加层,其边界由 GLatLngBounds 定义。

字串3

构造函数

构造函数 描述
GGroundOverlay(imageUrl, bounds) 根据图像的 URL 和边界创建底面叠加层。(自 2.79 开始)

方法

方法 返回值 描述
hide() none 如果当底面叠加层可见,则隐藏它。注:如果当前底面叠加层可见,则此函数会触发 GGroundOverlay.visibilitychanged 事件。(自 2.87 开始)
isHidden() Boolean 如果当底面叠加层前不可见,则返回 true。否则,返回 false。(自 2.87 开始)
show() none 如果当前底面叠加层不可见,则显示该叠加层。注:如果当前底面叠加层不可见,则此函数会触发 GGroundOverlay.visibilitychanged 事件。(自 2.87 开始)
supportsHide() Boolean 总是返回 true。(自 2.87 开始)

事件

事件 参数 描述
visibilitychanged isVisible 当底面叠加层的可见性状态从可见更改为不可见(反之亦然)时会触发此事件。isVisible 参数反映完成此可见性状态变化后底面叠加层的状态。(自 2.77 开始)

class GIcon

图标指定用来在地图上显示 GMarker 的图像。由于浏览器兼容性原因,要指定一个图标实际上相当复杂。 注:如果不希望指定自己的图标,则可使用默认 Google 地图图标 G_DEFAULT_ICON

字串8

构造函数

构造函数 描述
GIcon(copy?, image?) 创建新图标对象。如果可选的 copy 参数中给出了另一图标,将复制其属性,否则将留为空白。可选的 image 参数设置 image 的属性值。

常数

常数 描述
G_DEFAULT_ICON 标记使用的默认图标。

属性

属性 类型 描述
image String 图标的前景图像 URL。
shadow String 图标的阴影图像 URL。
iconSize GSize 图标前景图像的像素大小。
shadowSize GSize 阴影图像的像素大小。
iconAnchor GPoint 此图标在地图上的锚定点相对于图标图像左上角的像素坐标。
infoWindowAnchor GPoint 信息窗口在此图标上的锚定点相对于图标图像左上角的像素坐标。
printImage String 打印地图所用的前景图标图像的 URL。其大小必须与 image 提供的主图标图像的大小相同。
mozPrintImage String 用 Firefox/Mozilla 打印地图时所用的前景图标图像的 URL。其大小必须与 image 提供的主图标图像的大小相同。
printShadow String 打印地图时所用的阴影图像的 URL。由于大多数浏览器都无法打印 PNG 图像,所以图像格式应该为 GIF。
transparent String 在 Internet Explorer 中用于捕获单击事件的透明版的前景图标图像的 URL。此图像应该是具有 1% 不透明性的 24 位 PNG 版本的主图标图像,但其大小和形状同主图标的大小和形状相同。
imageMap Array of Number 表示图像地图 x/y 坐标的整数数组,我们用它指定浏览器(非 Internet Explorer)中图标图像的可单击部分。
maxHeight Integer 指定拖拽标记时视觉上垂直“上升”的距离(以像素表示)。(自 2.79 开始)
dragCrossImage String 指定拖拽图标时十字交叉图像的 URL。(自 2.79 开始)
dragCrossSize GSize 指定拖拽图标时十字交叉图像的像素大小。(自 2.79 开始)
dragCrossAnchor GPoint 指定拖拽图标时十字交叉图像的像素坐标偏移量(相对于 iconAnchor)。(自 2.79 开始)

class GPoint

GPoint 是以像素坐标表示的地图上的一点。注意:在 v2 中,它不再是以地理坐标表示的地面上的一个点。现在,地理坐标可以用 GLatLng 表示。 字串3

在地图坐标系统中,x 坐标向右增大,y 坐标向下增大。

字串4

注意:GPoint 的两个参数同 xy 属性一样可访问,但最好不要修改它们,而是在创建新对象时使用不同的参数。 字串8

构造函数

构造函数 描述
GPoint(x, y) 创建 GPoint 对象。

属性

属性 类型 描述
x Number x 坐标,向右增大。
y Number y 坐标,向下增大。

方法

方法 返回值 描述
equals(other) Boolean 当且仅当其他点有相等的坐标时,返回 true
toString() String 返回包含 x 和 y 坐标的字符串,先 x 坐标后 y 坐标,之间用逗号分隔。

class GSize

GSize 是地图矩形区域的大小(以像素表示)。大小对象有两个参数:widthheight。宽度是点的 x 坐标的差值,高度是 y 坐标的差值。

字串1

注意:GSize 的两个参数同 widthheight 属性一样可访问,但最好不要修改它们,而是在创建新对象时使用不同的参数。 字串3

构造函数

构造函数 描述
GSize(width, height) 创建 GSize 对象。

属性

属性 类型 描述
width Number 宽度参数。
height Number 高度参数。

方法

方法 返回值 描述
equals(other) Boolean 当且仅当其他大小都完全相同时,则返回 true
toString() String 返回包含宽度和高度的字符串,先宽度后高度,之间用逗号分隔。

class GBounds

GBounds 是以像素坐标表示的地图矩形区域。注意:地理坐标中的矩形可用 GLatLngBounds 对象表示。

字串8

构造函数

构造函数 描述
GBounds(points) 构造一个包含所有给定 points 的矩形。

属性

属性 类型 描述
minX Number 矩形左边的 x 坐标。
minY Number 矩形上边的 y 坐标。
maxX Number 矩形右边的 x 坐标。
maxY Number 矩形下边的 y 坐标。

方法

方法 返回值 描述
toString() String 返回包含框的左上和右下角点坐标的字符串,先左上后右下,中间用逗号分隔,前后用圆括号括起来。
mid() GPoint 返回矩形区域的中心点像素坐标。(自 2.88 开始)
min() GPoint 返回矩形区域的左上角像素坐标。
max() GPoint 返回矩形区域的右下角像素坐标。
containsBounds(other) Boolean 如果传入的矩形区域完全包含于此矩形区域中,则返回 true
containsPoint(point) Boolean 如果矩形区域(含边界)本身包含输入的像素坐标,则返回 true。(自 2.88 开始)
extend(point) none 放大此框,使该点也包括在框中。

class GLatLng

GLatLng 是以纬度和经度表示的地理坐标点。 字串9

注意:尽管进行地图投影时通常将经度与地图的 x 坐标联系起来,将纬度与 y 坐标联系起来,但总是先写入纬度坐标,后写入经度坐标,这符合绘图习惯。

字串5

另请注意:不能修改 GLatLng 的坐标。如果想要计算另一个点,必须新建一个。

字串5

构造函数

构造函数 描述
GLatLng(lat, lng, unbounded?) 注意纬度和经度的顺序。如果 unbounded 标记为 true,则表示数字以原始输入状态使用,否则纬度将在 -90 度到 +90 度之间,而经度在 -180 度和 +180 度之间周而复始。

方法

方法 返回值 描述
lat() Number 返回以度数表示的纬度坐标(-90 到 +90 之间的数值)。如果在构造函数中设置了 unbounded 标记,则纬度坐标值可能超出此范围。
lng() Number 返回以度数表示的经度坐标(-180 到 +180 之间的数值)。如果在构造函数中设置了 unbounded 标记,则经度坐标值可能超出此范围。
latRadians() Number 返回以弧度表示的纬度坐标(如 -PI/2 到 +PI/2之间的数值)。如果在构造函数中设置了 unbounded 标记,则纬度坐标值可能超出此范围。
lngRadians() Number 返回以弧度表示的经度坐标(-PI 到 +PI 之间的数值)。如果在构造函数中设置了 unbounded 标记,则此坐标值可能超出此范围。
equals(other) Boolean 当且仅当其他大小具有相同组成(可在某个舍入舍出误差范围内)时返回 true
distanceFrom(other) Number 返回从此点到某个给定点的距离(以米表示)。地球近似一个球体,因此距离误差不超过 0.3%。请参阅以下信息。(自 2.89 开始建议不要使用)
distanceFrom(other, radius?) Number 返回从此点到某个给定点的距离(以米表示)。在默认情况下,根据地球赤道半径的默认值 6378137 米计算此距离。地球近似一个球体,因此距离误差不超过 0.3%(尤其在两极)。也可以传递可选的 radius 参数计算不同半径球体(而不是地球)的 GLatLng 坐标。(自 2.89 开始)
toUrlValue() String 建议不要使用此版本的方法,建议使用能传递可选 precision 参数的修订版方法(显示如下)。(自 2.78 开始建议不要使用)
toUrlValue(precision?) String 返回一个表示此点的字符串,其格式适合用于 URL 参数值,中间用逗号分隔不含空格。默认情况下,精确度的返回值为 6 位数字,相当于 4 英寸/11 厘米的分辨率。可选的 precision 参数允许您指定更低的精确度以减轻服务器负载。注:在 2.78 以前的版本中,precision 参数不可用。(自 2.78 开始)

属性

这些属性的存在,只是为了实现与 v1 事件处理程序函数的向后兼容。不应使用它们。 字串3

这些属性反映 lng()lat() 存取方法的返回值,允许 GLatLng 出现在 v1 客户端期望 GPoint 出现的位置。GLatLng 必须出现在事件明细中(即出现在事件处理程序函数的参数中)。与方法封装相比,它在当前框架下不可创建事件封装。

字串7

属性 类型 描述
x Number 建议不要使用。
y Number 建议不要使用。

class GLatLngBounds

GLatLngBounds 实例在地理坐标中代表矩形,包括与 180 度子午线相交的矩形。 字串8

构造函数

构造函数 描述
GLatLngBounds(sw?, ne?) 从西南角和东北角两个点构建矩形。

方法

方法 返回值 描述
equals(other) Boolean 当且仅当此矩形中的所有参数都等于其他矩形的参数(在某一舍入舍出误差范围内)时,返回 true
contains(latlng) Boolean 如果点的地理坐标位于此矩形内,则返回 true。(自 2.88 开始建议不要使用)
containsLatLng(latlng) Boolean 如果点的地理坐标位于此矩形内,则返回 true。(自 2.88 开始)
intersects(other) Boolean 如名所述。
containsBounds(other) Boolean 如名所述。
extend(latlng) none 放大此矩形,使其包含给定的点。沿经线方向两种可能的放大方式中,按较小的那种方式放大。如果两者相等,则放大东部的边界。
getSouthWest() GLatLng 返回矩形西南角的点。
getNorthEast()