当前位置: 代码迷 >> Web前端 >> google 地图 api -类GMap2
  详细解决方案

google 地图 api -类GMap2

热度:158   发布时间:2012-11-08 08:48:11.0
google map api ---类GMap2

class GMap2

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

构造函数

构造函数 描述
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 开始)
  相关解决方案