创建地图实例
创建地图实例后可加载瓦片图,在地图上绘制内容等
示例
// 使用 id 为 map 的 div 容器初始化地图,同时指定地图的中心点和缩放级别
const map = hnsdk.createMap('map' , {
center : [51.505,-0.09],
zoom : 2,
})
<body>
<div id="map"></div>
</body>
TIP
后续代码实例中使用到 map 变量均为 createMap 函数返回的地图实例
参数
| 入参 | 类型 | 描述 |
|---|---|---|
| mapId | string | div容器的id |
| options | object | map实例初始化参数 |
options
| 选项 | 类型 | 描述 |
|---|---|---|
| center | array | 地图初始化时的中心点位置 |
| zoom | number | 地图初始化时的缩放等级 |
| minZoom | number | 地图的最小缩放级别 |
| maxZoom | number | 地图的最大缩放级别 |
Events
图层事件
| 事件名 | 数据 | 说明 |
|---|---|---|
| baselayerchange | LayersControlEvent | 通过图层控件更改基本图层时触发。 |
| overlayadd | LayersControlEvent | 通过图层控件选择叠加图层时触发。 |
| overlayremove | LayersControlEvent | 通过图层控件取消选择叠加图层时触发。 |
| layeradd | LayerEvent | 将新图层添加到地图时触发。 |
| layerremove | LayerEvent | 从地图上删除某些图层时触发 |
地图状态变更事件
| 事件名 | 数据 | 说明 |
|---|---|---|
zoomlevelschange | Event | 当地图上的缩放级别数因添加或移除图层而更改时触发。 |
resize | ResizeEvent | 调整地图大小时触发。 |
unload | Event | 当使用 remove 方法销毁地图时触发。 |
viewreset | Event | 当地图需要重绘其内容时触发(通常发生在地图缩放或加载时)。 对于创建 custom overlays 非常有用。 |
load | Event | 地图初始化时触发(首次设置其中心和缩放比例时)。 |
zoomstart | Event | 地图缩放即将更改时(例如在缩放动画之前)触发。 |
movestart | Event | 当地图视图开始更改时触发(例如,用户开始拖动地图)。 |
zoom | Event | 在缩放级别的任何更改(包括缩放和飞行动画)期间反复触发。 |
move | Event | 在地图的任何移动过程中反复触发,包括平移和飞行动画。 |
zoomend | Event | 在任何动画执行完毕地图更新后都会触发。 |
moveend | Event | 地图中心停止更改时触发(例如,用户停止拖动地图)。 |
LayersControlEvent
| 属性 | 类型 | 说明 |
|---|---|---|
| layer | Layer | 添加或删除的图层。 |
| name | String | 添加或删除的图层的名称。 |
MapEventMethods
| 方法名 | 返回值 | 说明 |
|---|---|---|
on( type, fn, context?) | this | 为对象的特定事件类型添加一个监听函数( |
on( eventMap) | this | 添加一组 type/listener,例如 |
off( type, fn?, context?) | this | 移除一个先前添加的监听器函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您向 |
off( eventMap) | this | 删除一组 type/listener |
off() | this | 移除该对象上所有事件的所有监听器。这包括隐含的附加事件。 |
fire( type, data?, propagate?) | this | 触发指定类型的事件。您可以选择提供一个数据对象——侦听器函数的第一个参数将包含其属性,事件可以选择性地传播到事件父级。 |
listens( type, propagate?) | Boolean | 如果一个特定的事件类型有任何监听器连接到它,则返回 |
once(…) | this | 与 |
addEventParent(obj) | this | 向父级 |
removeEventParent(obj) | this | 删除之前向父级 |
addEventListener(…) | this | 同 |
removeEventListener(…) | this | 同 |
clearAllEventListeners(…) | this | 同 |
addOneTimeEventListener(…) | this | 同 |
fireEvent(…) | this | 同 |
hasEventListeners(…) | Boolean |
Methods
| 方法名 | 返回值 | 说明 |
|---|---|---|
addHandler( name, HandlerClass) | this | 给定其名称和构造函数,将新的 |
remove() | this | 销毁地图并清除所有相关的事件侦听器。 |
createPane( name, container?) | HTMLElement | 如果给定名称不存在,则创建一个新的map pane,然后将其返回。 该窗格被创建为容器的子级,或者被创建为主地图窗格的子级(如果未设置)。 |
getPane(pane) | HTMLElement | 返回一个地图窗口 map pane,给它一个名称或者 HTML 的节点。 |
getPanes() | Object | 返回一个普通对象,其中包含所有窗格的名称为键,并将窗格 panes 作为值。 |
getContainer() | HTMLElement | 返回一个包含地图的 HTML 节点。 |
whenReady( fn, context?) | this | 当地图使用视图(中心和缩放)和至少一层初始化时,或者如果已经初始化,则立即运行给定的函数 fn(如果已初始化)(可选地传递函数上下文)。 |
获取地图状态
| 方法名 | 返回值 | 说明 |
|---|---|---|
getCenter() | LatLng | 返回地图中心点的经纬度 |
getZoom() | Number | 返回地图此时的缩放级别 |
getBounds() | LatLngBounds | 返回当前地图的矩形边界 |
getMinZoom() | Number | 返回地图的最小缩放级别(如果在地图或任何图层的 minZoom 选项中设置过),或者默认为 0。 |
getMaxZoom() | Number | 返回地图的最大缩放级别(如果在地图或任何图层的 maxZoom 选项中设置过) |
getBoundsZoom(bounds, inside?, padding?) | Number | 返回给定边界与地图视图完全吻合的最大缩放级别。如果 inside(可选)被设置为 true,该方法反而会返回地图视图完全适合给定边界的最小缩放级别。 |
getSize() | Point | 返回地图容器的当前大小(以像素为单位)。 |
getPixelBounds() | Bounds | 返回当前地图视图的投影像素坐标的边界(有时在图层和叠加实现中很有用)。 |
getPixelOrigin() | Point | 返回地图层左上角的投影像素坐标(在自定义图层和叠加实现中很有用)。 |
getPixelWorldBounds(zoom?) | Bounds | 返回指定缩放级别的世界地图边界的像素坐标。如果 zoom 参数省略,则使用地图的当前缩放级别。 |
转换
| 方法名 | 返回值 | 说明 |
|---|---|---|
getZoomScale( toZoom, fromZoom) | Number | 返回要应用于从缩放级别从缩放到缩放的地图过渡的比例因子。 在内部使用以帮助缩放动画。 |
getScaleZoom( scale, fromZoom) | Number | 返回地图最终到达的缩放级别,如果它处于fromZoom 级别,并且所有内容都按比例缩放scale。 |
project(latlng, zoom) | Point |
|
unproject(point, zoom) | LatLng | 逆向 |
layerPointToLatLng(point) | LatLng | 给定相对于origin pixel的相应像素坐标,转换为相应的地理坐标(对于当前缩放级别)。 |
latLngToLayerPoint(latlng) | Point | 给定地理坐标,转换为相对于origin pixel的相应像素坐标。(在地图上进行位置叠加时比较有用) |
wrapLatLng(latlng) | LatLng | 如果它们在CRS的边界之外,则返回一个 |
wrapLatLngBounds(bounds) | LatLngBounds | 返回 |
distance(latlng1, latlng2) | Number | 根据地图的参考系来返回两个地理位置之间的距离,默认为米。 |
containerPointToLayerPoint(point) | Point | 给定相对于地图container容器的像素坐标,返回相对于origin pixel的相应像素坐标。 |
layerPointToContainerPoint(point) | Point | 给定相对于origin pixel的像素坐标,返回相对于地图container容器的相应像素坐标。 |
containerPointToLatLng(point) | LatLng | 给定相对于地图container容器的像素坐标,返回对应的地理坐标(对于当前缩放级别)。 |
latLngToContainerPoint(latlng) | Point | 给定地理坐标,返回相对于地图container容器的相应像素坐标。 |
mouseEventToContainerPoint(ev) | Point | 给定一个MouseEvent对象,返回相对于发生事件的地图容器的像素坐标(与地图左上角相关)。 |
mouseEventToLayerPoint(ev) | Point | 给定一个MouseEvent对象,返回相对于事件发生的origin pixel的像素坐标。 |
mouseEventToLatLng(ev) | LatLng | 给定一个MouseEvent对象,返回发生事件的地理坐标。 |
返回
Map map实例对象
