Map
继承Evented。
示例
var map = new wmapgl.Map ({
container : 'map',
center : [116.45, 39.9],
zoom : 13,
style : style_object
});
构造函数
new Map (options : Object)
构造选项
| 选项名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| container | (HTMLElement | string) | 指定地图所在的容器DOM, 也可指定DOM的ID。 该DOM不能有子元素。 | |
| minZoom | number | 0 | 地图最小缩放级别(0-24) |
| maxZoom | numbe | 22 | 地图最大缩放级别(0-24) |
| style | (Object | string) | 地图配置样式 | |
| pitchWithRotate | boolean | true | 如果为false,地图的俯仰(倾斜)控制与“拖动旋转”交互将被禁用。 |
| maxBounds | LngLatBoundsLike | 如果设置,地图将被现在在给定的边界 | |
| scrollZoom | (boolean | Object) | true | 为true,开启滚动缩放地图模式。 |
| boxZoom | boolean | true | 如果为true,启用拉框缩放模式 |
| dragRotate | boolean | true | 如果为true,启用拖拽旋转模式 |
| dragPan | boolean | true | 为true,启用拖拽平移模式 |
| keyboard | boolean | true | 为true,启用键盘快捷键模式 |
| doubleClickZoom | boolean | true | 为true,启用双击缩放地图模式 |
| touchZoomRotate | boolean | true | 为true,启用捏合旋转、缩放地图模式 |
| center | LngLatLike | [0,0] | 地图初始中心点 |
| zoom | number | 0 | 地图初始级别 |
| bearing | number | 0 | 地图初始旋转角度 |
| pitch | number | 0 | 地图初始倾斜角度 |
| bounds | LngLatBoundsLike? | 地图初始范围,如果指定该值,会覆盖center和zoom属性 |
方法
地图基本方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| addControl (control : IControl,position : string?) | this | 添加控件。位置可取'top-left' , 'top-right' , 'bottom-left', 'bottom-right'。默认为 'top-right' 。 |
| removeControl (control : IControl) | this | 移除控件 |
| resize (eventData : Object) | this | 根据地图容器调整地图大小 |
| panBy (offset : PointLike,options : AnimationOptions,eventData : Object) | this | 安偏移量移动地图 |
| panTo (lnglat : LngLatLike,options : AnimationOptions,eventData : Object) | this | 移动到地图指定位置 |
| jumpTo (options : Object,eventData : Object) | this | 改变中心、级别、方位和俯仰的任何组合,没有动画过度 |
| flyTo (options : Object,eventData : Object) | this | 改变中心、级别、方位和俯仰的任何组合,使过渡沿曲线运动,从而唤起飞行。 |
| zoomTo (zoom : number,options : AnimationOptions,eventData : Object) | this | 绽放到指定级别 |
| zoomIn (options : AnimationOptions,eventData : Object) | this | 放大一级 |
| zoomOut (options : AnimationOptions,eventData : Object) | this | 缩小一级 |
| rotateTo (bearing : number,options : AnimationOptions,eventData : Object) | this | 使用动画转换将地图旋转到指定的方位。 |
| stop () | this | 停止所有动画过渡 |
地图属性获取和设置方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| getBounds () | LngLatBounds | 获取当前地图的范围 |
| getMaxBounds () | (LngLatBounds | null) | 获取地图最大范围 |
| setMaxBounds (bounds : (LngLatBoundsLike | null) | this | 设置地图最大范围 |
| getZoom () | number | 获取地图级别 |
| setZoom (zoom : number,eventData : Object) | this | 指定级别 |
| getMinZoom () | number | 获取地图最小级别 |
| setMinZoom (zoom : number) | this | 设置地图最小级别 |
| getMaxZoom () | number | 获取地图最大级别 |
| setMaxZoom (zoom : number) | this | 设置地图最大级别 |
| getCenter () | LngLat | 获取中心点 |
| setCenter (center : LngLatLike,eventData : Object) | this | 设置中心点 |
| getBearing () | number | 获取地图方位 |
| setBearing (bearing : number,eventData : Object) | this | 设置地图方位 |
| getPitch () | number | 获取地图俯仰(倾斜) |
| setPitch (pitch : number,eventData : Object) | this | 设置地图俯仰(倾斜) |
| isMoving () | boolean | 当前地图是否在移动 |
| isZooming () | boolean | 当前地图是否在缩放 |
| isRotating () | boolean | 当前地图是否在旋转 |
| getContainer () | HTMLElement | 获取容器 |
| loaded () | boolean | 地图加载完成 |
| remove () | 清理并释放与此地图关联的所有内部资源。 |
事件方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| on (type : string,layerId : string,listener : Function) | this | 添加特定图层的事件,目前的事件类型有'mousedown' , 'mouseup' , 'click' , 'dblclick' , 'mousemove' , 'mouseenter' , 'mouseleave' , 'mouseover' , 'mouseout' , 'contextmenu' , 'touchstart' , 'touchend' , 'touchcancel' |
| on (type : string,listener : Function) | this | 添加地图事件 |
| off (type : string,layerId : string,listener : Function) | this | 移除特定图层的事件 |
| off (type : string,listener : Function) | this | 移除Map#on添加的事件 |
样式方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| setStyle (style,options : Option) | 设置地图样式 | |
| getStyle () | Object | 获取地图样式 |
| isStyleLoaded () | boolean | 样式是否加载完成 |
数据源方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| addSource (id : string,source : Object) | this | 添加数据源 |
| isSourceLoaded (id : string) | boolean | 数据源加载完成 |
| removeSource (id : string) | this | 移除数据源 |
| getSource (id : string) | Object | 获取数据源 |
图片方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| addImage (id : string,image,options : any) | 添加图片 | |
| updateImage (id : string,image) | 更新图片 | |
| hasImage (id : string) | boolean | 图片是否添加到地图 |
| removeImage (id : string) | 从地图移除图片 | |
| loadImage (url : string,callback : Function (error,data) | 加载图片 | |
| listImages () | string[] | 加载到地图的所以图片列表 |
图层方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| addLayer (layer : Layers,beforeId : string?) | this | 添加图层,beforeId是插入新图层前面的现有图层ID。 如果该参数被省略,该图层将会被添加到图层数组的末尾。 |
| moveLayer (id : string,beforeId : string?) | this | 移动图层 |
| removeLayer (id : string) | 移除图层 | |
| getLayer (id : string) | Object | 获取图层 |
| setLayerZoomRange (layerId : string,minZoom : number,maxZoom : number) | this | 设置指定层的缩放级别范围 |
| setFilter (layerId : string,filter : (Array | null),options : Object?) | this | 设置过滤条件 |
| getFilter (layerId : string) | Array | 获取过滤条件 |
| setPaintProperty (layerId : string,name : string,value : any,options : Object?) | this | 设置绘制属性 |
| getPaintProperty (layerId : string,name : string) | any | 获取绘制属性 |
| setLayoutProperty (layerId : string,name : string,value : any,options : Object?) | this | 设置布局属性 |
| getLayoutProperty (layerId : string,name : string) | any | 获取布局属性 |
其他方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| setFeatureState (feature : Object,state : Object) | 设置要素的状态。对象会与要素的现有状态合并。 | |
| removeFeatureState (feature : Object,key : string?) | 移除要素的状态 | |
| getFeatureState (feature : Object) | Object | 获取要素状态 |
| getCanvasContainer () | HTMLElement | 返回包含地图 |
| getCanvas () | HTMLCanvasElement | 返回地图的 |
| areTilesLoaded () | boolean | 瓦片加载完成 |
事件
| 事件名称 | 数据 | 描述 | |
|---|---|---|---|
| resize | 改变地图大小事件 | ||
| remove | 地图移除事件 | ||
| click | MapMouseEvent | 单击 | |
| dblclick | MapMouseEvent | 双击 | |
| mousedown | MapMouseEvent | 鼠标按下事件 | |
| mouseup | MapMouseEvent | 鼠标弹起 | |
| mouseover | MapMouseEvent | 鼠标移到 | |
| mousemove | MapMouseEvent | 鼠标移动 | |
| mouseenter | MapMouseEvent | 鼠标进入 | |
| mouseleave | MapMouseEvent | 鼠标离开 | |
| movestart | {originalEvent : DragEvent} | 地图移动开始 | |
| move | MapMouseEvent | MapTouchEvent | 地图移动 | |
| moveend | {originalEvent : DragEvent} | 地图移动结束 | |
| dragstart | {originalEvent : DragEvent} | 地图拖动开始 | |
| drag | MapMouseEvent | MapTouchEvent | 地图拖动 | |
| dragend | {originalEvent : DragEvent} | 地图拖动结束 | |
| zoomstart | MapMouseEvent | MapTouchEvent | 地图级别改变开始 | |
| zoom | MapMouseEvent | MapTouchEvent | 地图级别改变 | |
| zoomend | MapMouseEvent | MapTouchEvent | 地图级别改变结束 | |
| rotatestart | MapMouseEvent | MapTouchEvent | 地图旋转开始 | |
| rotate | MapMouseEvent | MapTouchEvent | 地图旋转 | |
| rotateend | MapMouseEvent | MapTouchEvent | 地图旋转结束 | |
| pitchstart | MapEventData | 地图倾斜开始 | |
| pitch | MapEventData | 地图倾斜 | |
| pitchend | MapEventData | 地图倾斜结束 | |
| load | 地图所以资源加载完成 | ||
| styledata | MapDataEvent | 加载或改变地图样式 | |
| sourcedata | MapDataEvent | 加载或改变数据源 | |
| error | 出现错误 | ||
| data | MapDataEvent | 地图数据加载或改变 |