# Map
查阅Leaflet API

#### new mars2d.Map(id, options)
map/Map.js 29

地图类 ，这是构造地图的一切的开始起点。

参数名称 | 类型 | 描述信息
--- | --- | ---
`id` | String | HTMLElement | 地图div容器的id或dom
`options` | Map.Options | 地图构造参数

##### 参考:

- `支持的事件类型`

### 继承自

- L.Map

### 属性值

#### 只读 _crs : object
map/Map.js 203

当前地图坐标系实际的CRS定义对象

#### basemap : String|Number|L.TileLayer
map/Map.js 110

获取或设置当前显示的底图，设置时可以传入图层id或name

#### bounds : L.LatLngBounds
map/Map.js 190

当前地图层级

#### center : L.LatLng
map/Map.js 178

当前地图中心点

#### 只读 container : HTMLElement
map/Map.js 93

获取地图DOM容器。

#### 只读 controls : Object
map/Map.js 102

获取地图所有控件。

#### crs : String|object
map/Map.js 211

当前地图坐标系

#### 只读 graphicLayer : GraphicLayer
map/Map.js 230

默认绑定的图层，简单场景时快捷方便使用

#### 只读 isLoading : Boolean
map/Map.js 255

判断所有图层是否在加载瓦片中

#### 只读 marsOptions : Object
map/Map.js 61

当前类的原始构造参数

#### 只读 smallTooltip : SmallTooltip
map/Map.js 246

小Tooltip鼠标提示控件

#### zoom : Number
map/Map.js 166

当前地图层级

### 方法

#### addControl(control) → Map
map/Map.jsdoc.js 12

添加控件到地图上

参数名称 | 类型 | 描述信息
--- | --- | ---
`control` | L.Control | 控件

##### 返回值:

当前对象本身，可以链式调用

#### addEventParent(obj) → Map
map/Map.jsdoc.js 774

添加抛出事件到父类，它将接收传播的事件

参数名称 | 类型 | 描述信息
--- | --- | ---
`obj` | Object | 父类对象

##### 返回值:

当前对象本身,可以链式调用

#### addHandler(name, handler) → Map
map/Map.jsdoc.js 646

加一个新的 L.Handler到地图上，给他一个名字和构造函数。

参数名称 | 类型 | 描述信息
--- | --- | ---
`name` | String | 名称
`handler` | Object | Handler构造函数

##### 返回值:

当前对象本身，可以链式调用

#### addLayer(layer, addToControl) → Map
map/Map.js 276

添加图层到地图上

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`layer` | Object |  | 图层
`addToControl` | Boolean | `false` | 可选 当存在layers控件时，是否添加到图层管理控件

##### 返回值:

当前对象本身，可以链式调用

#### addThing(item) → Map
map/Map.js 1032

添加Thing对象到地图上

参数名称 | 类型 | 描述信息
--- | --- | ---
`item` | BaseThing | Thing对象

##### 返回值:

当前对象本身，可以链式调用

#### bindContextMenu(arr) → Map
map/Map.js 946

绑定右键菜单幕

参数名称 | 类型 | 描述信息
--- | --- | ---
`arr` | Array.<Object> | 菜单配置

##### 返回值:

当前对象本身，可以链式调用

#### bindContextMenu(contextmenuItems) → Map
map/Map.jsdoc.js 52

绑定右键菜单

参数名称 | 类型 | 描述信息
--- | --- | ---
`contextmenuItems` | Array.<Object> | 右键菜单数组

##### 返回值:

当前对象本身，可以链式调用

#### closePopup(popup) → Map
map/Map.jsdoc.js 92

关闭之前打开的（或给定某个）Popup弹窗

参数名称 | 类型 | 描述信息
--- | --- | ---
`popup` | L.Popup | 可选 关闭之前打开的（或给定某个）Popup弹窗

##### 返回值:

当前对象本身，可以链式调用

#### closeSmallTooltip() → Map
map/Map.js 976

关闭小提示窗

##### 返回值:

当前对象本身，可以链式调用

#### closeTooltip(tooltip) → Map
map/Map.jsdoc.js 114

关闭之前打开的（或给定某个）Tooltip鼠标工具提示

参数名称 | 类型 | 描述信息
--- | --- | ---
`tooltip` | L.Tooltip | 可选 关闭之前打开的（或给定某个）Tooltip弹窗

##### 返回值:

当前对象本身，可以链式调用

#### containerPointToLatLng(point) → L.LatLng
map/Map.jsdoc.js 591

给定相对于地图container容器的像素坐标，返回对应的地理坐标（对于当前缩放级别）。

参数名称 | 类型 | 描述信息
--- | --- | ---
`point` | L.Point | 像素坐标， 相对于 `origin pixel`

##### 返回值:

地理坐标

#### containerPointToLayerPoint(point) → L.Point
map/Map.jsdoc.js 569

给定相对于地图container容器的像素坐标，返回相对于`origin pixel`的相应像素坐标。

参数名称 | 类型 | 描述信息
--- | --- | ---
`point` | L.Point | 像素坐标，相对于地图container容器

##### 返回值:

像素坐标，相对于 `origin pixel`

#### createPane(name, container) → HTMLElement
map/Map.jsdoc.js 667

如果尚未存在，创建具有给定名称的新映射窗格map pane，然后返回

参数名称 | 类型 | 描述信息
--- | --- | ---
`name` | String | 名称
`container` | HTMLElement | 可选 指定父级容器，container为空时，加入在地图主容器下。

##### 返回值:

窗格map pane

#### destroy() → void
map/Map.js 1297

销毁地图

##### 返回值:

无

#### distance(latlng1, latlng2) → L.LatLngBounds
map/Map.jsdoc.js 557

根据地图的参考系来返回两个地理位置之间的距离

参数名称 | 类型 | 描述信息
--- | --- | ---
`latlng1` | L.LatLng | 地理位置1
`latlng2` | L.LatLng | 地理位置2

##### 返回值:

距离，单位：米

#### eachLayer(method, context) → Map
map/Map.jsdoc.js 32

遍历地图的图层

参数名称 | 类型 | 描述信息
--- | --- | ---
`method` | function | 回调方法
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

当前对象本身，可以链式调用

#### eachThing(method, context) → Map
map/Map.js 1080

遍历每一个Thing对象并将其作为参数传递给回调函数

参数名称 | 类型 | 描述信息
--- | --- | ---
`method` | function | 回调方法
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

当前对象本身,可以链式调用

#### fire(type, data, propagate) → void
map/Map.jsdoc.js 735

触发指定类型的事件。

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`type` | String | EventType |  | 事件类型
`data` | Object |  | 可选 传输的数据或对象，可在事件回调方法中event对象中获取进行使用
`propagate` | BaseClass | Object | `null` | 可选 将事件传播给父类 (用addEventParent设置)

##### 返回值:

无

#### fitBounds(bounds, options) → Map
map/Map.jsdoc.js 211

将地图的视图设置在给定的矩形地理范围内,地图会自动计算最大缩放级别和中心点.

参数名称 | 类型 | 描述信息
--- | --- | ---
`bounds` | L.LatLngBounds | 矩形地理范围
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`paddingTopLeft` | L.Point | Array.<Number> |  | 可选 设置在将视图设置为适合边界时不应考虑的地图容器左上角的填充量。如果您在地图上有一些控件重叠式（如侧边栏），而且您不希望它们遮挡您正在缩放的对象，则很有用。
`paddingBottomRight` | L.Point | Array.<Number> |  | 可选 同上，不考虑地图容器右下角时使用。
`padding` | L.Point | Array.<Number> |  | 可选 相当于将左上和右下填充设置为相同的值。
`maxZoom` | Number |  | 可选 最大层级
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。
`duration` | Number | `0.25` | 可选 动画平移的持续时间，以秒为单位。
`easeLinearity` | Number | `0.25` | 可选 平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画，而这个数字越小，曲线越鞠躬。
`noMoveStart` | Boolean | `false` | 可选 如果true，平移不会movestart在启动时触发事件（内部用于平移惯性）。

##### 返回值:

当前对象本身，可以链式调用

#### flyHome(options) → Map
map/Map.js 1126

回到默认区域

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`animate` | Boolean | `false` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。
`duration` | Number | `0.25` | 可选 动画平移的持续时间，以秒为单位。
`easeLinearity` | Number | `0.25` | 可选 平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画，而这个数字越小，曲线越鞠躬。
`noMoveStart` | Boolean | `false` | 可选 如果true，平移不会movestart在启动时触发事件（内部用于平移惯性）。
`paddingTopLeft` | L.Point |  | 可选 extent时，设置在将视图设置为适合边界时不应考虑的地图容器左上角的填充量。如果您在地图上有一些控件重叠式（如侧边栏），而且您不希望它们遮挡您正在缩放的对象，则很有用。
`paddingBottomRight` | L.Point |  | 可选 extent时，同上，不考虑地图容器右下角时使用。
`padding` | L.Point |  | 可选 extent时，相当于将左上和右下填充设置为相同的值。
`maxZoom` | Number |  | 可选 extent时，最大层级

##### 返回值:

当前对象本身，可以链式调用

#### flyTo(latlng, zoom, options) → Map
map/Map.jsdoc.js 141

执行平滑的飞行动画，移动缩放地图范围至指定的地理中心和级别

参数名称 | 类型 | 描述信息
--- | --- | ---
`latlng` | L.LatLng | 经纬度坐标
`zoom` | Number | 可选 层级，未指定时不缩放
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。
`duration` | Number | `0.25` | 可选 动画平移的持续时间，以秒为单位。
`easeLinearity` | Number | `0.25` | 可选 平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画，而这个数字越小，曲线越鞠躬。
`noMoveStart` | Boolean | `false` | 可选 如果true，平移不会movestart在启动时触发事件（内部用于平移惯性）。

##### 返回值:

当前对象本身，可以链式调用

#### flyToBounds(bounds, options) → Map
map/Map.jsdoc.js 231

执行平滑的飞行动画，移动缩放地图范围至指定的矩形范围，类似fitBounds方法

参数名称 | 类型 | 描述信息
--- | --- | ---
`bounds` | L.LatLngBounds | 矩形地理范围
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`paddingTopLeft` | L.Point | Array.<Number> |  | 可选 设置在将视图设置为适合边界时不应考虑的地图容器左上角的填充量。如果您在地图上有一些控件重叠式（如侧边栏），而且您不希望它们遮挡您正在缩放的对象，则很有用。
`paddingBottomRight` | L.Point | Array.<Number> |  | 可选 同上，不考虑地图容器右下角时使用。
`padding` | L.Point | Array.<Number> |  | 可选 相当于将左上和右下填充设置为相同的值。
`maxZoom` | Number |  | 可选 最大层级
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。
`duration` | Number | `0.25` | 可选 动画平移的持续时间，以秒为单位。
`easeLinearity` | Number | `0.25` | 可选 平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画，而这个数字越小，曲线越鞠躬。
`noMoveStart` | Boolean | `false` | 可选 如果true，平移不会movestart在启动时触发事件（内部用于平移惯性）。

##### 返回值:

当前对象本身，可以链式调用

#### flyToGraphic(graphic, options) → Map
map/Map.js 1160

定位地图至矢量对象处

参数名称 | 类型 | 描述信息
--- | --- | ---
`graphic` | * | 矢量对象
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`scale` | Number |  | 可选 线面数据时，通过在每个方向上按给定百分比扩展当前边界，返回更大的边界
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。
`duration` | Number | `0.25` | 可选 动画平移的持续时间，以秒为单位。
`easeLinearity` | Number | `0.25` | 可选 平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画，而这个数字越小，曲线越鞠躬。
`noMoveStart` | Boolean | `false` | 可选 如果true，平移不会movestart在启动时触发事件（内部用于平移惯性）。
`paddingTopLeft` | L.Point |  | 可选 线面数据时，设置在将视图设置为适合边界时不应考虑的地图容器左上角的填充量。如果您在地图上有一些控件重叠式（如侧边栏），而且您不希望它们遮挡您正在缩放的对象，则很有用。
`paddingBottomRight` | L.Point |  | 可选 线面数据时，同上，不考虑地图容器右下角时使用。
`padding` | L.Point |  | 可选 线面数据时，相当于将左上和右下填充设置为相同的值。
`maxZoom` | Number |  | 可选 线面数据时，最大层级

##### 返回值:

当前对象本身，可以链式调用

#### flyToPoint(center, options) → Map
map/Map.js 1190

定位地图至目标点

参数名称 | 类型 | 描述信息
--- | --- | ---
`center` | L.LatLng | 目标点坐标
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。
`duration` | Number | `0.25` | 可选 动画平移的持续时间，以秒为单位。
`easeLinearity` | Number | `0.25` | 可选 平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画，而这个数字越小，曲线越鞠躬。
`noMoveStart` | Boolean | `false` | 可选 如果true，平移不会movestart在启动时触发事件（内部用于平移惯性）。

##### 返回值:

当前对象本身，可以链式调用

#### getBasemaps(removeEmptyGroup) → Array.<L.TileLayer>
map/Map.js 802

获取所有basemps底图图层

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`removeEmptyGroup` | Boolean | `false` | 可选 是否移除 空图层组

##### 返回值:

图层数组

#### getBounds() → L.LatLngBounds
map/Map.jsdoc.js 383

返回当前地图视图的矩形边界

##### 返回值:

地图矩形边界

#### getBoundsZoom(bounds, inside) → Number
map/Map.jsdoc.js 419

返回给定范围完全适合地图视图的最大缩放级别。

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`bounds` | L.LatLngBounds |  | 给定范围
`inside` | Boolean | `false` | 可选 设置为true，则该方法将返回地图视图适合整个给定边界的最小缩放级别。

##### 返回值:

适合地图视图的最大缩放级别

#### getCenter() → L.LatLng
map/Map.jsdoc.js 374

返回地图视图的中心点经纬度

##### 返回值:

中心点经纬度

#### getContainer() → HTMLElement
map/Map.jsdoc.js 688

获取 地图DOM容器

##### 返回值:

地图DOM容器

#### getContextMenu() → Array.<Object>
map/Map.jsdoc.js 62

获取绑定的右键菜单

##### 返回值:

右键菜单数组

#### getDefaultContextMenu() → Array.<Object>
map/Map.js 937

获取默认右键菜单

##### 返回值:

默认右键菜单数组

#### getExtent(precision) → Object
map/Map.js 1273

返回 地图的当前边界，格式为 {xmin: 117.024994, xmax: 117.414322, ymin: 31.711229, ymax: 32.029617}

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`precision` | Number | `6` | 可选 保留小数位

##### 返回值:

地图边界 ，格式为 {xmin: 117.024994, xmax: 117.414322, ymin: 31.711229, ymax: 32.029617}

#### getLayer(attrValue, attrName) → L.Layer
map/Map.js 517

根据属性获取指定图层，包括config.json配置的图层

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`attrValue` | String | Number |  | 属性值
`attrName` | String | `'id'` | 可选 属性键

##### 返回值:

图层

#### getLayerByAttr(attrValue, attrName) → L.Layer|*
map/Map.js 575

根据指定属性获取图层

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`attrValue` | String | Number |  | 属性值
`attrName` | String | `'id'` | 可选 属性键

##### 返回值:

图层

#### getLayerById(id) → L.Layer
map/Map.js 531

根据ID或取图层

参数名称 | 类型 | 描述信息
--- | --- | ---
`id` | String | Number | 图层id

##### 返回值:

图层

#### getLayers(options) → Array.<L.Layer>
map/Map.js 614

获取所有图层

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | Object | 可选 参数对象，包括以下：
参数名称 | 类型 | 描述信息
--- | --- | ---
`basemaps` | Boolean | 可选 默认不比较及处理，true:返回所有basemps中配置图层，false：排除所有所有basemps中配置图层
`layers` | Boolean | 可选 默认不比较及处理，true:返回所有operationallayers中配置图层，false：排除所有operationallayers中配置图层
`filter` | function | 可选 筛选方法，方法体内返回false时排除数据 filter:function(feature){return true}

##### 返回值:

图层数组

#### getLayersByAttr(attrValue, attrName) → Array.<L.Layer>|*
map/Map.js 599

根据指定属性获取图层列表

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`attrValue` | String | Number |  | 属性值
`attrName` | String | `'id'` | 可选 属性键

##### 返回值:

图层对象列表

#### getLayrsTree(options) → object
map/Map.js 675

获取所有图层的配置信息，通常用于配置图层树

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 可选 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`filter` | function |  | 可选 筛选方法，方法体内返回false时排除数据 filter:function(feature){return true}
`forEach` | function |  | 可选 递归调用图层配置信息，可以对导出的图层数据进行格式化或转换键值操作
`autoGroup` | function | string |  | 可选 自动分组(string时指定属性进行分组，比如传 autoGroup:"type")，注意：如果map有group图层时，该参数无效。
`basemaps` | boolean | `false` | 可选 默认不比较及处理，true:返回所有basemps中配置图层，false：排除所有所有basemps中配置图层[但已加到map的除外]
`childs` | boolean | `true` | 可选 是否获取GroupLayer内的已经实例化的子图层, 但没有加到map的图层不会去读取内部子图层

##### 返回值:

返回值包括 { list: [id与pid关联的原始数组], tree: [按children组织好的上下级树数组]}

#### getMaxZoom() → Number
map/Map.jsdoc.js 410

返回地图最大缩放级别（如果设置了地图或图层的maxZoom参数）

##### 返回值:

最大缩放级别

#### getMinZoom() → Number
map/Map.jsdoc.js 401

返回地图最小缩放级别（如果设置了地图或图层的minZoom参数），默认为0

##### 返回值:

地图最小缩放级别

#### getNextLayerId() → Number
map/Map.js 501

获取图层ID值，按顺序取值。 没有id的图层，会自动使用本方法进行id赋值处理

##### 返回值:

图层ID

#### getOptions() → Object
map/Map.js 271

获取地图的配置参数，即new Map传入的参数。

##### 返回值:

地图的配置参数

#### getPanes() → Object
map/Map.jsdoc.js 679

返回一个普通对象，其中包含所有窗格的名称为键，并将窗格Pane作为值。

##### 返回值:

窗格map pane

#### getPixelBounds() → L.Bounds
map/Map.jsdoc.js 440

返回当前地图视图的像素坐标的边界（在自定义层和覆盖实现中有用）

##### 返回值:

地图视图的像素坐标的边界

#### getPixelOrigin() → L.Bounds
map/Map.jsdoc.js 449

返回当前地图视图左上角的像素坐标（在自定义层和覆盖实现中有用）

##### 返回值:

地图视图左上角的像素坐标

#### getPixelWorldBounds(zoom) → L.Bounds
map/Map.jsdoc.js 458

返回zoom缩放级别的世界边界的像素坐标

参数名称 | 类型 | 描述信息
--- | --- | ---
`zoom` | Number | 可选 缩放级别, zoom为空时使用地图的当前缩放级别。

##### 返回值:

地图视图的像素坐标的边界

#### getScaleZoom(scale, fromZoom) → Number
map/Map.jsdoc.js 479

返回地图最终到达的缩放级别，如果它处于fromZoom 级别，并且所有内容都按比例缩放scale。 getZoomScale的逆向方法.

参数名称 | 类型 | 描述信息
--- | --- | ---
`scale` | Number | 地图缩放的转换的比例因子Scale
`fromZoom` | Number | 最终到达的缩放级别

##### 返回值:

地图缩放的转换的比例因子Scale

#### getSize() → L.Point
map/Map.jsdoc.js 431

返回地图容器的当前大小

##### 返回值:

地图容器的当前大小（以像素为单位）

#### getThing(attrValue, attrName) → BaseThing
map/Map.js 1092

根据指定属性获取Thing对象

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`attrValue` | String | Number | Boolean |  | 属性值
`attrName` | String | `'id'` | 可选 属性名称

##### 返回值:

Thing对象

#### getTileLayers() → Array.<L.TileLayer>
map/Map.js 821

获取所有瓦片图层，可以用于卷帘对比

##### 返回值:

图层数组

#### getView() → Object
map/Map.js 1102

获取当前层级和中心点

##### 返回值:

获取当前层级和中心点

#### getZoom() → Number
map/Map.jsdoc.js 392

返回地图此时的缩放级别

##### 返回值:

地图级别

#### getZoomScale(toZoom, fromZoom) → Number
map/Map.jsdoc.js 468

返回要应用于 从fromZoom缩放级别 到 toZoom缩放级别 地图缩放的转换的比例因子Scale。（内部使用来帮助缩放动画）

参数名称 | 类型 | 描述信息
--- | --- | ---
`toZoom` | Number | 结束缩放级别
`fromZoom` | Number | 开始缩放级别

##### 返回值:

地图缩放的转换的比例因子Scale

#### hasThing(thing) → Boolean
map/Map.js 1069

是否有指定的Thing对象存在（就是已经addThing的图层）

参数名称 | 类型 | 描述信息
--- | --- | ---
`thing` | BaseThing | String | 指定的Thing对象或Thing对象ID

##### 返回值:

是否存在

#### hide() → Map
map/Map.jsdoc.js 43

关闭右键菜单

##### 返回值:

当前对象本身，可以链式调用

#### invalidateSize(options) → Map
map/Map.jsdoc.js 327

设检查地图容器大小是否已更改，并更新地图。当地图容器div大小有变化后，请调用。

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | Object | Boolean | 可选 控制参数,直接传入Boolean时代表是否动画,object时可以控制是否平移动画等

##### 返回值:

当前对象本身，可以链式调用

#### isFullscreen() → Boolean
map/Map.js 985

判断是否已经全屏

##### 返回值:

是否已经全屏

#### latLngToAccurateContainerPoint(latlng) → L.Point
map/Map.js 1211

获取精确的像素坐标， 当需要绘制比较平滑的曲线的时候可调用此方法代替 latLngToContainerPoint

参数名称 | 类型 | 描述信息
--- | --- | ---
`latlng` | L.LatLng | 经纬度坐标

##### 返回值:

像素坐标

#### latLngToContainerPoint(latlng) → L.Point
map/Map.jsdoc.js 602

给定地理坐标，返回相对于地图container容器的相应像素坐标。

参数名称 | 类型 | 描述信息
--- | --- | ---
`latlng` | L.LatLng | 地理坐标

##### 返回值:

像素坐标， 相对于地图container容器

#### latLngToLayerPoint(latlng) → L.Point
map/Map.jsdoc.js 524

给定地理坐标，转换为相应像素坐标。（在地图上进行位置叠加时比较有用）

参数名称 | 类型 | 描述信息
--- | --- | ---
`latlng` | L.LatLng | 地理位置

##### 返回值:

像素坐标(相对于`origin pixel`)

#### layerPointToContainerPoint(point) → L.Point
map/Map.jsdoc.js 580

给定相对于`origin pixel`的像素坐标，返回相对于地图container容器的相应像素坐标。

参数名称 | 类型 | 描述信息
--- | --- | ---
`point` | L.Point | 像素坐标， 相对于 `origin pixel`

##### 返回值:

像素坐标，相对于地图container容器

#### layerPointToLatLng(point) → L.LatLng
map/Map.jsdoc.js 513

给定相应像素坐标，转换为相应的地理坐标（对于当前缩放级别）

参数名称 | 类型 | 描述信息
--- | --- | ---
`point` | L.Point | 像素坐标(相对于`origin pixel`)

##### 返回值:

地理位置

#### listens(type, propagate) → Boolean
map/Map.jsdoc.js 762

是否有绑定指定的事件

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | String | EventType | 事件类型
`propagate` | Object | 可选 是否判断指定的父类 (用addEventParent设置的)

##### 返回值:

是否存在

#### locate(options) → Map
map/Map.jsdoc.js 347

尝试使用Geolocation API定位用户，触发具有locationfound成功的位置数据的locationerror事件或失败的事件，并且可以根据检测精度（或者如果地理位置失败）将地图视图设置为用户的位置。 请注意，如果您的页面不使用HTTPS，则此方法将在最新流行浏览器（Chrome 50及更高版本）中失败。有关Locate options详细信息，请参阅。

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | Object | 可选 控制参数:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`watch` | Boolean | `false` | 可选 如果true，使用W3C watchPosition方法开始连续观察位置变化（而不是检测到位置变化）。您可以稍后停止观看使用 map.stopLocate()方法。
`setView` | Boolean | `false` | 可选 如果true自动将地图视图设置为与检测精度相关的用户位置，或者如果地理位置失败，则自动将其设置为世界视图。
`maxZoom` | Number | `Infinity` | 可选 使用setView选项时，自动查看设置的最大缩放级别.
`timeout` | Number | `10000` | 可选 在触发locationerror事件之前等待地理位置响应的毫秒数 。
`maximumAge` | Number | `0` | 可选 检测到的位置的最大生命周期 如果小于上次地理位置响应以来的毫秒数，locate将返回缓存的位置
`enableHighAccuracy` | Boolean | `false` | 可选 是否实现高精度，请参阅W3C规范中的说明。

##### 返回值:

当前对象本身，可以链式调用

#### mouseEventToContainerPoint(event) → L.Point
map/Map.jsdoc.js 613

给定一个MouseEvent对象，返回相对于发生事件的地图容器的像素坐标（与地图左上角相关）。

参数名称 | 类型 | 描述信息
--- | --- | ---
`event` | L.LeafletMouseEvent | Object | MouseEvent对象

##### 返回值:

像素坐标，相对于地图container容器

#### mouseEventToLatLng(event) → L.LatLng
map/Map.jsdoc.js 635

给定一个MouseEvent对象，返回发生事件的地理坐标。

参数名称 | 类型 | 描述信息
--- | --- | ---
`event` | L.LeafletMouseEvent | Object | MouseEvent对象

##### 返回值:

地理坐标

#### mouseEventToLayerPoint(event) → L.Point
map/Map.jsdoc.js 624

给定一个MouseEvent对象，返回相对于事件发生的`origin pixel`的像素坐标。

参数名称 | 类型 | 描述信息
--- | --- | ---
`event` | L.LeafletMouseEvent | Object | MouseEvent对象

##### 返回值:

像素坐标，相对于地图container容器

#### off(types, fn, context) → void
map/Map.jsdoc.js 722

解除绑定指定类型事件监听器

参数名称 | 类型 | 描述信息
--- | --- | ---
`types` | String | EventType | Object | 可选 事件类型，Object时删除一组类型/侦听器对。
`fn` | function | 可选 绑定的监听器回调方法
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

无

#### on(type, fn, context) → void
map/Map.jsdoc.js 709

绑定指定类型事件监听器

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | String | EventType | Object | 事件类型，当是Object时可以添加一组类型/侦听器对，例如 {click: onClick, mousemove: onMouseMove}
`fn` | function | 可选 绑定的监听器回调方法
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

无

#### once(types, fn, context) → void
map/Map.jsdoc.js 748

绑定一次性执行的指定类型事件监听器 与on类似，监听器只会被触发一次，然后被删除。

参数名称 | 类型 | 描述信息
--- | --- | ---
`types` | String | EventType | Object | 可选 事件类型，Object时删除一组类型/侦听器对。
`fn` | function | 可选 绑定的监听器回调方法
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

无

#### openPopup(content) → Map
map/Map.jsdoc.js 80

打开指定的Popup弹窗（如果之前有打开其他的，会自动关闭，确保只有一个）

参数名称 | 类型 | 描述信息
--- | --- | ---
`content` | String | HTMLElement | L.Popup | Object | Popup弹窗内容 // * @param {L.LatLng} [latlng] 位置 // * @param {Map.PopupOptions|Object} [options] Popup弹窗参数

##### 返回值:

当前对象本身，可以链式调用

#### openSmallTooltip(position, message) → Map
map/Map.js 967

显示小提示窗，一般用于鼠标操作的提示。

参数名称 | 类型 | 描述信息
--- | --- | ---
`position` | L.Point | L.LatLng | 显示的屏幕坐标位置
`message` | String | Object | 显示的内容

##### 返回值:

当前对象本身，可以链式调用

#### openTooltip(content) → Map
map/Map.jsdoc.js 102

创建并打开具有指定内容和选项的Tooltip鼠标工具提示。

参数名称 | 类型 | 描述信息
--- | --- | ---
`content` | String | HTMLElement | L.Tooltip | Object | Tooltip弹窗内容 // * @param {L.LatLng} [latlng] 位置 // * @param {Map.TooltipOptions|Object} [options] Tooltip弹窗参数

##### 返回值:

当前对象本身，可以链式调用

#### panBy(offset) → Map
map/Map.jsdoc.js 267

地图按指定像素的偏移值平移

参数名称 | 类型 | 描述信息
--- | --- | ---
`offset` | L.Point | 平移的像素偏移值

##### 返回值:

当前对象本身，可以链式调用

#### panInsideBounds(bounds, options) → Map
map/Map.jsdoc.js 311

将地图放置到位于给定范围内的最接近的视图（如果不在），并使用特定的options选项（如果有的话）控制动画。

参数名称 | 类型 | 描述信息
--- | --- | ---
`bounds` | L.LatLngBounds | 范围
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。
`duration` | Number | `0.25` | 可选 动画平移的持续时间，以秒为单位。
`easeLinearity` | Number | `0.25` | 可选 平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画，而这个数字越小，曲线越鞠躬。
`noMoveStart` | Boolean | `false` | 可选 如果true，平移不会movestart在启动时触发事件（内部用于平移惯性）。

##### 返回值:

当前对象本身，可以链式调用

#### panTo(latlng, options) → Map
map/Map.jsdoc.js 251

平移地图到给定的中心点

参数名称 | 类型 | 描述信息
--- | --- | ---
`latlng` | L.LatLng | 中心点
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。
`duration` | Number | `0.25` | 可选 动画平移的持续时间，以秒为单位。
`easeLinearity` | Number | `0.25` | 可选 平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画，而这个数字越小，曲线越鞠躬。
`noMoveStart` | Boolean | `false` | 可选 如果true，平移不会movestart在启动时触发事件（内部用于平移惯性）。

##### 返回值:

当前对象本身，可以链式调用

#### project(latlng, zoom) → L.Point
map/Map.jsdoc.js 490

根据地图CRS坐标系进行投影转换方法, 地理坐标 转 像素坐标

参数名称 | 类型 | 描述信息
--- | --- | ---
`latlng` | L.LatLng | 地理位置
`zoom` | Number | 地图级别

##### 返回值:

像素坐标（相对于CRS原点）

#### remove() → Map
map/Map.jsdoc.js 658

释放清除这个地图和清除所有的相关事件监听器

##### 返回值:

当前对象本身，可以链式调用

#### removeControl(control) → Map
map/Map.jsdoc.js 22

从地图上移除一个指定的控件

参数名称 | 类型 | 描述信息
--- | --- | ---
`control` | L.Control | 控件

##### 返回值:

当前对象本身，可以链式调用

#### removeEventParent(obj) → Map
map/Map.jsdoc.js 784

移除抛出事件到父类

参数名称 | 类型 | 描述信息
--- | --- | ---
`obj` | Object | 父类对象

##### 返回值:

当前对象本身,可以链式调用

#### removeLayer(layer, removeFromControl) → Map
map/Map.js 315

从地图上移除一个指定的图层

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`layer` | L.Layer | object |  | 图层
`removeFromControl` | Boolean | `false` | 可选 当存在layers控件时，是否从图层管理控件移除

##### 返回值:

当前对象本身，可以链式调用

#### removeThing(item, hasDestroy) → Map
map/Map.js 1046

移除Thing对象

参数名称 | 类型 | 描述信息
--- | --- | ---
`item` | BaseThing | 需要移除的Thing对象
`hasDestroy` | boolean | 可选 是否释放

##### 返回值:

当前对象本身，可以链式调用

#### setCursor(val) → void
map/Map.js 1008

设置鼠标的默认状态样式

参数名称 | 类型 | 描述信息
--- | --- | ---
`val` | String | 可选 cursor样式

##### 返回值:

无

#### setMaxBounds(bounds) → Map
map/Map.jsdoc.js 278

限制地图的视图在给定的边界里面 (参考 地图的 maxBounds 参数选项)

参数名称 | 类型 | 描述信息
--- | --- | ---
`bounds` | L.LatLngBounds | 最大边界

##### 返回值:

当前对象本身，可以链式调用

#### setMaxZoom(zoom) → Map
map/Map.jsdoc.js 300

设置地图最大缩放级别 (参考 maxZoom 参数选项)

参数名称 | 类型 | 描述信息
--- | --- | ---
`zoom` | Number | 最大缩放级别

##### 返回值:

当前对象本身，可以链式调用

#### setMinZoom(zoom) → Map
map/Map.jsdoc.js 289

设置地图最小缩放级别 (参考 minZoom 参数选项)

参数名称 | 类型 | 描述信息
--- | --- | ---
`zoom` | Number | 最小缩放级别

##### 返回值:

当前对象本身，可以链式调用

#### setOptions(options) → Map
map/Map.js 1223

设置Scene场景参数

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | Map.Options | 地图参数

##### 返回值:

当前对象本身，可以链式调用

#### setView(center, zoom, options) → Map
map/Map.jsdoc.js 124

定位地图至指定位置和层级

参数名称 | 类型 | 描述信息
--- | --- | ---
`center` | L.LatLng | 经纬度坐标
`zoom` | Number | 可选 层级，未指定时不缩放
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。
`duration` | Number | `0.25` | 可选 动画平移的持续时间，以秒为单位。
`easeLinearity` | Number | `0.25` | 可选 平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画，而这个数字越小，曲线越鞠躬。
`noMoveStart` | Boolean | `false` | 可选 如果true，平移不会movestart在启动时触发事件（内部用于平移惯性）。

##### 返回值:

当前对象本身，可以链式调用

#### setZoom(zoom, options) → Map
map/Map.jsdoc.js 158

设置地图的zoom缩放级别

参数名称 | 类型 | 描述信息
--- | --- | ---
`zoom` | Number | 层级
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。

##### 返回值:

当前对象本身，可以链式调用

#### setZoomAround(latlng, zoom, options) → Map
map/Map.jsdoc.js 197

缩放地图，同时保持地图上的指定地理位置不变（例如内部用于滚动缩放和双击缩放）。

参数名称 | 类型 | 描述信息
--- | --- | ---
`latlng` | L.LatLng | L.Point | 位置 ,当为Point时相对于左上角的指定像素位置不变。
`zoom` | Number | 层级
`options` | Object | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。

##### 返回值:

当前对象本身，可以链式调用

#### stop() → Map
map/Map.jsdoc.js 338

停止当前运行panTo或flyTo动画，如果有的话。

##### 返回值:

当前对象本身，可以链式调用

#### stopLocate() → Map
map/Map.jsdoc.js 365

停止执行已调用了的map.locate()。

##### 返回值:

当前对象本身，可以链式调用

#### toggleFullscreen() → Boolean
map/Map.js 993

切换全屏和不全屏

##### 返回值:

是否全屏

#### unbindContextMenu() → Map
map/Map.js 955

取消绑定右键菜单

##### 返回值:

当前对象本身，可以链式调用

#### unbindContextMenu() → Map
map/Map.jsdoc.js 71

解除绑定右键菜单

##### 返回值:

当前对象本身，可以链式调用

#### unproject(point, zoom) → L.LatLng
map/Map.jsdoc.js 501

根据地图CRS坐标系进行投影转换方法, 像素坐标 转 地理坐标。 逆向 project 方法

参数名称 | 类型 | 描述信息
--- | --- | ---
`point` | L.Point | 像素坐标（相对于CRS原点）
`zoom` | Number | 地图级别

##### 返回值:

地理位置

#### whenReady(fn, context) → Map
map/Map.jsdoc.js 697

方便异步执行后续方法函数Fn。 当地图以视图（中心和缩放）初始化和至少一个层初始化时，或者当它已经初始化时， 立即运行给定的函数Fn，没有时会等初始化后执行函数Fn.

参数名称 | 类型 | 描述信息
--- | --- | ---
`fn` | function | 方法函数
`context` | Object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

当前对象本身，可以链式调用

#### wrapLatLng(latlng) → L.LatLng
map/Map.jsdoc.js 535

如果它们在CRS的边界之外，则返回一个LatLng，lat并lng根据地图的CRS wrapLat和wrapLng属性进行包装。默认情况下，这意味着经度包裹在数据线周围，所以它的值在-180和+180度之间。

参数名称 | 类型 | 描述信息
--- | --- | ---
`latlng` | L.LatLng | 地理位置

##### 返回值:

地理位置

#### wrapLatLngBounds(bounds) → L.LatLngBounds
map/Map.jsdoc.js 546

返回LatLngBounds与给定的大小相同的大小，确保其中心在CRS的边界内。默认情况下，这意味着中心经度被包裹在数据线周围，因此它的值在-180和+180度之间，并且大多数边界与CRS的界限重叠。

参数名称 | 类型 | 描述信息
--- | --- | ---
`bounds` | L.LatLngBounds | 地图范围

##### 返回值:

地图范围

#### zoomIn(delta, options) → Map
map/Map.jsdoc.js 171

放大地图级别

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`delta` | Number | `1` | 可选 改变的级别值，delta为空时，默认值取自map构造参数中的zoomDelta
`options` | Object |  | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。

##### 返回值:

当前对象本身，可以链式调用

#### zoomOut(delta, options) → Map
map/Map.jsdoc.js 184

缩小地图级别

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`delta` | Number | `1` | 可选 改变的级别值，delta为空时，默认值取自map构造参数中的zoomDelta
`options` | Object |  | 可选 定位参数，包括:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`animate` | Boolean | `true` | 可选 是否进行动画缩放。false时始终重置视图完全没有动画。

##### 返回值:

当前对象本身，可以链式调用

### 定义的类型

#### mars2d.Map.basemapOptions
map/Map.js 1376

底图图层配置,只支持`TileLayer`等瓦片图层

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`type` | String |  |  | 图层类型
`id` | String | Number | <可选> |  | 图层id标识
`pid` | String | Number | <可选> | -1 | 图层父级的id，一般图层管理中使用
`name` | String | <可选> | '' | 图层名称
`show` | Boolean | <可选> | false | 图层是否显示
`其他参数` | * | <可选> |  | 每种不同type都有自己的不同属性，具体参考`LayerType`找到type对应的图层类,查看其构造参数

#### mars2d.Map.controlOptions
map/Map.js 1400

控件参数

##### 属性:

属性名称 | 类型 | 可选 | 描述信息
--- | --- | --- | ---
`scale` | Boolean | Object | <可选> | 显示比例尺 `L.control.scale`
`zoom` | Object | <可选> | 放大缩小控件 `L.control.zoom` ###### Properties 属性
属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`position` | String | <可选> | "bottomright" | 控件的位置
`zoomInText` | String | <可选> | "+" | 在“放大”按钮上设置的显示文本
`zoomInTitle` | String | <可选> | "Zoom in" | 在“放大”按钮上设置鼠标悬停提示文本
`zoomOutText` | String | <可选> | "-" | 在“缩小”按钮上设置显示文本
`zoomOutTitle` | String | <可选> | "Zoom out" | 在“缩小”按钮上设置鼠标悬停提示文本
`layers` | Object | <可选> | 图层控制控件, `L.control.layers` ###### Properties 属性
属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`position` | String | <可选> | "bottomright" | 控件的位置
`locationBar` | Object | <可选> | 鼠标提示控件, `LocationBar` ###### Properties 属性
属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`template` | String | <可选> |  | 展示的内容格式化字符串, 支持以下模版配置：【鼠标所在位置】 经度:{lng}， 纬度:{lat}，【地图的】 层级：{level}，
`latDecimal` | Number | <可选> | 6 | 保留的{lat}和{lng}的小数位
`crs` | String | CRS | <可选> |  | 按指定坐标系显示坐标值, 配置后template可以加模板：【鼠标所在位置对应的crs坐标系】 X或经度值：{crsx}， Y或纬度值：{crsy}
`crsDecimal` | Number | <可选> | 1 | 保留的{crsx}和{crsy}的小数位
`cacheTime` | Number | <可选> | 50 | 鼠标移动的缓存时间
`style` | Object | <可选> |  | 可以CSS样式，如: ###### Properties 属性
属性名称 | 类型 | 可选 | 描述信息
--- | --- | --- | ---
`top` | String | <可选> | css定位top位置, 如 top: '10px'
`bottom` | String | <可选> | css定位bottom位置
`left` | String | <可选> | css定位left位置
`right` | String | <可选> | css定位right位置
`toolBar` | Object | <可选> | 鼠标提示控件, `ToolBar` ###### Properties 属性
属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`position` | String | <可选> | "bottomright" | 控件的位置
`item` | Array.<String> | <可选> | ["home", "location", "fullscreen"] | 显示的按钮配置,支持配置的值："home", "location", "fullscreen","clear"
`noLocPoint` | Boolean | <可选> |  | 是否显示定位后的原点

#### mars2d.Map.EventType
map/Map.js 1435

Map支持的`EventType`事件类型，也支持传字符串值

##### 属性:

属性名称 | 类型 | 描述信息
--- | --- | ---
`layeradd` | String | 当一个新的图层加到地图上时触发
`layerremove` | String | 当图层从地图上移出时触发
`baselayerchange` | String | 当通过图层控件 layer control改变底图图层时触发
`overlayadd` | String | 当通过图层控件 layer control添加显示覆盖层时引发
`overlayremove` | String | 当通过图层控件 layer control隐藏移除覆盖层时引发
`zoomlevelschange` | String | 当地图上的缩放级别数量，因添加或删除图层而发生变化时触发
`resize` | String | 当地图调整大小时触发
`load` | String | 当地图初始化的完成时候触发（当地图的中心点和缩放级别在第一时间设置时）
`unload` | String | 用 remove 方法销毁地图时引发
`viewreset` | String | 当地图需要重绘其内容时发生（这通常发生在地图缩放或加载）。对于创建自定义叠加层非常有用
`movestart` | String | 当地图的视图开始变化时触发（例如用户开始拖动地图）
`moveend` | String | 当地图的中心停止更改后时发生（例如用户停止拖动地图）
`zoomstart` | String | 当地图缩放即将更改时会触发（例如缩放动画之前）
`zoom` | String | 任何缩放级别的更改都会反复触发，包括缩放和fly动画
`zoomend` | String | 当地图级别发生变化后时发生，任何动画之后都会触发
`zoomanim` | String | 在缩放动画的每一帧上播放时触发
`popupopen` | String | popup弹窗打开后
`popupclose` | String | popup弹窗关闭
`tooltipopen` | String | 在地图里打开Tooltip提示框提示时触发
`tooltipclose` | String | 在地图里关闭Tooltip提示框提示时触发
`locationfound` | String | 当定位(调用 map.locate 方法) 成功时触发
`locationerror` | String | 当定位 (调用 map.locate 方法) 失败时触发
`autopanstart` | String | 当打开弹出窗口时，地图开始自动移动时触发
`click` | String | 当用户点击（或taps点击）地图时触发
`dblclick` | String | 当用户双击（或 double-taps双击）地图时触发
`mousedown` | String | 当用户在地图上按下鼠标按钮时触发
`mouseup` | String | 当用户在地图上释放鼠标按钮时触发
`mouseover` | String | 当鼠标进入地图时触发
`mouseout` | String | 当鼠标离开地图时触发
`mousemove` | String | 鼠标在地图上移动时触发
`contextmenu` | String | 当用户在地图上按下鼠标右键时触发，如果此事件上有侦听器，则会阻止默认浏览器上下文菜单显示。当用户持有一次触摸（也称为长按）时，也会在手机上触发
`keypress` | String | 当地图处于获取焦点时，用户从键盘上按下一个键时触发
`preclick` | String | 鼠标点击地图前触发（有时当您希望在任何现有的点击处理程序开始运行之前处理一些事情时有用）

##### 使用示例:

    //绑定监听事件
    map.on(mars2d.EventType.click, function (event) {
      console.log('单击了地图对象', event)
    })

##### 参考:

- BaseClass#on
- BaseClass#off

#### mars2d.Map.layerOptions
map/Map.js 1388

可以叠加显示的图层配置

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`type` | String |  |  | 图层类型
`id` | String | Number | <可选> |  | 图层id标识
`pid` | String | Number | <可选> | -1 | 图层父级的id，一般图层管理中使用
`name` | String | <可选> | '' | 图层名称
`show` | Boolean | <可选> | false | 图层是否显示
`其他参数` | * | <可选> |  | 每种type都有自己的不同属性，具体参考`LayerType`找到type对应的图层类,查看其构造参数

#### mars2d.Map.Options
map/Map.js 1314

地图参数

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`zoom` | Number |  |  | 当前地图层级
`minZoom` | Number | <可选> |  | 地图最小缩放等级，地图不显示小于minZoom的级别.
`maxZoom` | Number | <可选> |  | 地图最大缩放等级，地图不显示大于maxZoom的级别.
`center` | Object | L.LatLng |  |  | 初始化地图的中心点位置 ###### Properties 属性
属性名称 | 类型 | 描述信息
--- | --- | ---
`lng` | Number | 经度值, 180 - 180
`lat` | Number | 纬度值, -90 - 90
`extent` | Object | <可选> |  | 当前地图矩形范围,与center二选一 ###### Properties 属性
属性名称 | 类型 | 描述信息
--- | --- | ---
`xmin` | Number | 最小经度值, -180 至 180
`xmax` | Number | 最大纬度值, -180 至 180
`ymin` | Number | 最小纬度值, -90 至 90
`ymax` | Number | 最大纬度值, -90 至 90
`centerAutoLevel` | Number | <可选> | 15 | 定位地图至目标点时(比如`Map#flyToPoint`方法)，当地图级别小于此值时自动放大至该级别
`maxBounds` | L.LatLngBounds | <可选> |  | 当这个选项被设置后，地图被限制在给定的地理边界内， 当用户平移将地图拖动到视图以外的范围时会出现弹回的效果， 并且也不允许缩小视图到给定范围以外的区域（这取决于地图的尺寸）. 要动态设置此限制，请使用setMaxBounds方法。
`crs` | CRS | L.CRS | String | Object | <可选> | "EPSG:3857" | 地图坐标系。如果你不确定坐标系这是什么意思，请不要改变它
`chinaCRS` | ChinaCRS | <可选> | ChinaCRS.WGS84 | 标识当前地图的国内坐标系（用于部分图层内对比判断来自动纠偏或加偏）
`renderer` | L.Renderer | <可选> |  | 在地图上绘制矢量图层的默认方法，使用 L.SVG 或 L.Canvas 默认情况下取决于浏览器支持。
`closePopupOnClick` | Boolean | <可选> | true | 如果你不想让Popup弹窗在用户点击地图时关闭，那就把它设为false
`zoomSnap` | Number | <可选> | 1 | 强制地图的缩放级别始终为此的倍数，特别是在 fitBounds() 缩放或缩小后。默认情况下，缩放级别将捕捉到最接近的整数; 较低的值（例如0.5 or 0.1）允许更大的粒度。数值0意味着缩放级别将不会被fitBounds放大或缩小。 可以设置小于1（例如0.5）的值允许更大的展示粒度。
`zoomDelta` | Number | <可选> | 1 | 控制当使用了 zoomIn()、 zoomOut()以及按+ -键或者使用Zoom控件之后，地图的缩放级别的改变的级别值
`trackResize` | Boolean | <可选> | true | 地图是否自动处理浏览器窗口调整大小以更新自身
`boxZoom` | Boolean | <可选> | true | 按住Shift键的同时拖动鼠标，地图是否可以缩放到指定的矩形区域。
`doubleClickZoom` | Boolean | String | <可选> | true | 地图是否可以通过双击放大，并通过双击同时按住shift缩小。如果设置为 'center'，双击缩放将缩放到视图的中心，而不管鼠标在哪里。
`dragging` | Boolean | <可选> | true | 地图是否可以通过鼠标/触摸拖动。
`zoomAnimation` | Boolean | <可选> | true | 是否启用地图缩放动画。默认情况下，它在支持除Android之外的所有支持CSS3的浏览器中启用。
`zoomAnimationThreshold` | Number | <可选> | 4 | 如果缩放差异超过此值，则不会生成缩放。
`fadeAnimation` | Boolean | <可选> | true | 是否启用了淡出动画。默认情况下，它在支持除Android之外的所有支持CSS3的浏览器中启用。
`markerZoomAnimation` | Boolean | <可选> | true | marker标记是否使用缩放动画进行缩放。默认情况下，它在支持除Android之外的所有支持CSS3的浏览器中启用。
`transform3DLimit` | Number | <可选> | 2^23 | 定义CSS翻译转换的最大尺寸.默认值不应该改变，除非web浏览器在做了一个大的panBy之后，在错误的位置放置了一个位置.
`inertia` | Boolean | <可选> | false | 如果启用，则平移地图将具有惯性效应，其中地图在拖动的同时建立动量并继续沿相同方向移动一段时间。在触摸设备上感觉特别好。默认情况下启用，除非在旧的Android设备上运行。
`inertiaDeceleration` | Number | <可选> | 3000 | 惯性运动减速的速度，以像素/秒为单位。
`inertiaMaxSpeed` | Number | <可选> | Infinity | 惯性运动的最大速度，以像素/秒为单位。
`worldCopyJump` | Boolean | <可选> | false | 启用此选项后，地图将跟踪当您平移到另一个“复制”的世界地图时，一些如标记和矢量图层等所有叠加元素仍然同步可见。
`maxBoundsViscosity` | Number | <可选> | 0.0 | 如果maxBounds设置，该选项将控制当拖动地图时边界的固定度。默认值0.0允许用户以正常速度拖动界限，较高的值将减慢地图拖动,如设置值1.0将使边界完全固定，防止用户拖动界限。
`keyboard` | Boolean | <可选> | true | 地图是否可以获得焦点，并且允许用户通过键盘和+/-来进行浏览地图
`keyboardPanDelta` | Number | <可选> | 80 | 按箭头键时平移地图时，平移的像素数量。
`scrollWheelZoom` | Boolean | String | <可选> | true | 是否可以使用鼠标滚轮放大地图。如果设置为'center'，它将缩放到视图的中心，而不管鼠标在哪里。
`wheelDebounceTime` | Number | <可选> | 40 | 限制鼠标滚轮的速度（以毫秒为单位）。默认情况下，用户无法通过鼠标滚轮比40 ms更多的缩放一次。
`wheelPxPerZoomLevel` | Number | <可选> | 60 | 多少滚动像素（由L.DomEvent.getWheelDelta报告）意味着一个完整缩放级别的更改。 较小的值将使滚轮变焦更快（反之亦然）
`tap` | Boolean | <可选> | true | 是否启用移动设备以支持即时点击（在iOS / Android上修复200ms点击延迟）和触控（触发contextmenu事件）。
`tapTolerance` | Number | <可选> | 15 | 用户在触摸时，移动手指的像素数超过此值时被认为是有效的tap。
`touchZoom` | Boolean | String | <可选> |  | 是否可以通过用两根手指触摸拖动来缩放地图。如果设置为'center'，它将缩放到视图的中心，而不管触摸事件（手指）在哪里。 仅在具有触控功能的网络浏览器中有效，旧版Android除外。
`bounceAtZoomLimits` | Boolean | <可选> | true | 如果您不希望在地图缩放超过最小/最大缩放范围时反弹，请将其设置为false。
`preferCanvas` | Boolean | <可选> | false | 是否应该在一个Canvas渲染器上呈现线面矢量对象. 默认情况下，所有线面矢量对象都是在 SVG呈现程序中呈现的.
`copyright` | Boolean | <可选> | true | 是否显示火星科技的Logo
`defaultContextMenu` | Boolean | <可选> | true | 是否绑定默认的地图右键菜单
`contextmenuItems` | Array.<Object> | <可选> |  | 自定义绑定右键菜单配置数组
`control` | Map.controlOptions | <可选> |  | 控件参数
`basemaps` | Array.<Map.basemapOptions> | Array.<Object> |  |  | 底图图层配置
`operationallayers` | Array.<Map.layerOptions> | Array.<Object> | <可选> |  | 可以叠加显示的图层配置
`layers` | Array.<L.Layer> | Array.<Object> | <可选> |  | 默认添加到地图上的图层组, 这是leaflet原生的参数，传入构造好的leaflet图层。

#### mars2d.Map.PopupOptions
map/Map.js 1485

Popup弹窗的构造参数

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`maxWidth` | Number | <可选> | 300 | 弹窗的最大宽度，单位为像素
`minWidth` | Number | <可选> | 50 | 弹窗的最小宽度，单位为像素
`maxHeight` | Number | <可选> |  | 如果设置，如果内容超过此高度时，则在弹出窗口中显示滚动条
`autoPan` | Boolean | <可选> | true | 如果您不希望地图进行平移动画以适应打开的弹出窗口， 请将其设置为false
`autoPanPaddingTopLeft` | L.Point | <可选> |  | 执行自动平移后，弹窗和地图视图左上角之间的边距
`autoPanPaddingBottomRight` | L.Point | <可选> |  | 执行自动平移后，弹窗和地图视图右下角之间的边距
`autoPanPadding` | L.Point | <可选> | L.Point(5, 5) | 相当于将左上角和右下角的自动平移填充设置为相同的值
`keepInView` | Boolean | <可选> | false | 如果你想防止用户在屏幕打开时弹出屏幕上的弹出窗口，将其设置为true
`closeButton` | Boolean | <可选> | true | 弹窗中是否存在关闭按钮
`closeOnClick` | Boolean | <可选> |  | 如果要覆盖用户在地图上单击的弹出窗口关闭的默认行为，请设置它。默认为Map的closePopupOnClick选项。
`autoClose` | Boolean | <可选> | true | 如果在打开另一个弹窗时，是否自动关闭之前的弹窗.
`className` | String | <可选> |  | 要分配给弹窗的自定义的css类名
`offset` | L.Point | <可选> | L.Point(0, 7) | 弹出位置的偏移量。用于在某些叠加层上打开弹出窗口时控制该锚点
`pane` | String | <可选> | 'popupPane' | 指定添加popup弹窗至地图的pane窗格名称

#### mars2d.Map.TooltipOptions
map/Map.js 1506

Tooltip弹窗的构造参数

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`pane` | String | <可选> | 'tooltipPane' | 指定添加popup弹窗至地图的pane窗格名称
`offset` | L.Point | <可选> | L.Point(0, 0) | 弹出位置的偏移量。用于在某些叠加层上打开弹出窗口时控制该锚点
`direction` | String | <可选> | 'auto' | 方向打开工具提示。可能的值有：right，left， top，bottom，center，auto。 auto将间dynamicaly切换right并left根据地图上的工具提示位置。
`permanent` | Boolean | <可选> | false | 是否永久打开tooltip提示，仅在鼠标悬停时显示
`sticky` | Boolean | <可选> | false | 如果为true，则tooltip将跟随鼠标，而不是固定在功能中心。
`interactive` | Boolean | <可选> | false | 如果为true，则工具提示将侦听功能事件。
`opacity` | Number | <可选> | 0.9 | 设置tooltip容器的不透明度。
`className` | String | <可选> |  | 要分配给弹窗的自定义的css类名