Summary
Methods:
addControl |
添加一个地图控件。注意:同类型的控件只能添加一个,之后的都会被忽略,起不到控件本来的作用 |
addLayer |
添加图层。将图层添加到图层容器中。 |
addLayers |
添加一组图层。该方法根据图层在数组中的先后顺序,依次将图层添加到地图上。 |
addLight |
给地图添加精准光源 |
destroy |
地图销毁。和Map相关的事件、控件、DOM元素以及地图对象本身都将从内存中移除。 |
detectAllFeaturesAtPixel |
拾取当前位置的所有要素,相互覆盖的也会被拾取,贴地要素的拾取建议使用detectFeaturesAtPixel |
detectFeaturesAtPixel |
在地图上搜索给定像素的地理元素,被遮挡的视为不可见。注意:无法搜索图片式图层中的地理要素/模型。 |
disableInteractive |
取消和要素的交互 |
disableLight |
关闭地图光照,但不删除光照对象 |
enableInteractive |
激活和要素的交互,要素所在图层的enableHashCode=true时可以进行交互。 |
enableLight |
全局开启地图的光照 |
flyTo |
滑行动画实现地图移动倾斜缩放,仅适用于二维地图的漫游,三维地形有穿模的风险,该方法无法保证。 |
get3DCoordinateFromPixel |
获取地图中的要素与鼠标射线相交的三维坐标。如果鼠标射线和指定图层中的要素没有相交,则返回鼠标射线与地表的相交点的坐标,其中Z值为0。 |
getAllLayers |
获取加载到地图上的所有图层。 |
getAllLights |
获取地图上的所有精准光源 |
getBearing |
获取地图当前的方位角 |
getCamera |
获取相机对象。 |
getCenter |
获取地图视窗中心的地理坐标。 |
getContext |
获取绘制上下文 |
getControlByType |
获取指定类型的控件。 |
getControls |
获取添加到地图上的所有控件。 |
getCoordinateFromPixel |
计算屏幕像素位置所对应的地理坐标。 |
getCrs |
获取当前地图的坐标系对象。 |
getEnvironment |
获取全局光照 |
getExtent |
获取当前地图视窗的地理范围。 |
getExtentZoom |
返回包含给定extent的最适合的zoom |
getFogColor |
获取雾的颜色 |
getGeoGridLayer |
获取地理网格(经纬网)图层对象 |
getHeightByCoord |
获取指定坐标点位,在地图三维场景中的实际高程。当传入的坐标点经纬度,不在地图范围内时,或者没有地图数据时(此时webgl深度值为1),会返回null。 |
getHighlightColor |
获取全局高亮颜色 |
getLandColor |
获取陆地颜色 |
getLayerCount |
获取图层数量。 |
getLayersByName |
根据名称获取图层对象。 |
getLayerZIndex |
获取图层的顺序(zIndex)。 |
getMaxResolution |
获取当前地图的最大分辨率。 |
getMaxZoom |
获取地图最大缩放级别。 |
getMinResolution |
获取当前地图的最小分辨率。 |
getMinZoom |
获取地图最小缩放级别。 |
getPanEnable |
返回一个值,指示当前地图是否允许平移。 |
getPitch |
获取地图当前的俯仰角 |
getPixelFromCoordinate |
计算地理坐标对应的屏幕像素位置。起算点是当前屏幕坐标系原点。 |
getPixelRatio |
获取设备物理像素和设备独立像素之间的比率 |
getResolution |
获取地图分辨率。如果传入zoom参数,则返回对应缩放级别的分辨率,否则返回当前缩放级别的分辨率。 |
getResolutions |
获取地图分辨率数组。 |
getRestrictedExtent |
获取允许访问的最大地理范围 |
getRidgeAndValleyLines |
获取当前地图范围内的山脊线、山谷线矢量数据。此功能考虑到性能,没有做非常精细的计算,提取到的山脊线、山谷线仅作为示意。 |
getRotateAngle |
获取地图当前的方位角或俯仰角 |
getRotateEnable |
返回一个值,指示当前地图是否允许旋转。 |
getScale |
获取当前地图比例尺分母,根据地图的分辨率、坐标系和当前级别计算得出。 |
getSkyImage |
获取天空背景图片 |
getSunlight |
获取日照光对象 |
getViewport |
计算当前地图视口的像素范围。 |
getZoom |
获取地图缩放级别。如果传入res参数,则在分辨率数组中寻找最接近res且不小于res的级别,否则返回地图的当前缩放级别。 |
getZoomEnable |
返回一个值,指示当前地图是否允许缩放。 |
getZoomWithInterval |
获取地图当前缩放层级,当创建地图时参数zoomInterval不为1,且地图缩放级别不在整数级别时,此时返回的值则有小数部分。 |
moveMapToDiv |
移动地图到指定的div中。该方法,将把已创建好的地图对象,从放置当前地图对象的div元素中移除,并添加到指定的新的div中。 |
panTo |
将地图移动到指定坐标,忽略坐标的Z值。 |
pauseFly |
暂停地图滑行 |
printMap |
截图功能。提供地图canvas上渲染内容的截图,地图叠加层(OverlayLayer)所添加要素为div,不包括在内。 |
redraw |
重绘地图 |
removeAllLayers |
去除与地图对象挂接的所有图层。图层对象脱离地图对象后依然存在,直到彻底销毁这些图层。 |
removeControl |
移除地图控件。 |
removeEnvironment |
移除全局光照 |
removeLayer |
从地图对象的图层数组中移除指定图层。注意:图层对象脱离地图对象后依然存在,直到该图层被彻底销毁。 |
removeLight |
从地图上删除指定的精准光源 |
removeSkybox |
移除天空盒背景 |
resize |
当窗口改变时,更改相机参数,用户设置全屏或者取消全屏时,检测不到窗口变化,需要手动调用此方法 |
resumeFly |
继续地图滑行 |
rotate |
按照指定的角度与旋转类型来旋转地图。 |
setCenter |
设置地图的中心点和缩放级别。 |
setCloudStatus |
设置地图天空云朵状态 |
setDepthMode |
地图场景纵深感模式设置,支持0和1两种。 |
setEnvironment |
设置全局光照,可以在设置天空盒之后直接调用,无需source参数 |
setFlySpeedRatio |
设置地图滑行动画的速度倍率 |
setFogColor |
设置雾的颜色 |
setHighlightColor |
设置全局高亮颜色值 |
setLandColor |
设置地图的陆地背景色 |
setLayerZIndex |
调整当前图层在所有图层中的位置(zIndex)。zIndex决定了图层的渲染顺序。 |
setMaxZoom |
设置地图最大缩放级别。 |
setMinZoom |
设置地图最小缩放级别。 |
setMouseCursor |
设置鼠标样式。 |
setPanEnable |
激活或者禁用平移控件。 |
setPixelRatio |
设置设备物理像素和设备独立像素之间的比率,一般是为window.devicePixelRatio |
setResolutions |
设置地图分辨率数组。 |
setRestrictedExtent |
设置允许访问的最大地理范围 |
setRotateEnable |
激活或者禁用旋转控件。 |
setSkybox |
设置天空盒背景,需要传入6个长度的图片路径数组,图片的顺序依次为前、后、上、下、左、右 |
setSkyImage |
设置天空的背景,设置前需移除天空盒背景。若未设置此值,地图天空将按照天空盒背景或者雾化的颜色来渲染。 |
setSplitScreenMode |
设置分屏模式,取值为1|2|3。默认为1不分屏,2代表左右两屏,3代表上下两屏。 |
setZoomEnable |
激活或者禁用缩放控件。 |
setZoomInterval |
设置地图级别改变一级时,需要滚轮滚动的次数。 |
startAutoRotate |
开启自动旋转,如果处于自动旋转状态,再次调用相同方向的自动旋转则为无效操作 |
stopAutoRotate |
停止自动旋转 |
stopFly |
停止地图滑行,销毁当前的滑行动画 |
transition |
场景过渡 |
updateLight |
更新光照 |
useSkyboxLand |
是否使用天空盒的地面。矢量切片不建议,会破坏样式风格。 |
zoomIn |
调用该方法一次,地图将放大一级,直到最大级别。 |
zoomOut |
调用该方法一次,地图将缩小一级,直到最小级别。 |
zoomTo |
将地图缩放到指定级别。 |
zoomToExt |
缩放到指定的地理范围。若缩放层级超出最大层级按照最大层级显示。 |
Constructor
new Map(divid, options, successedCallback, failedCallback)
Parameters:
Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
divid |
String | HTMLElement | 一个div元素id属性值或者html元素。Map对象被构造的同时,会在该div内自动创建一个canvas元素作为图层容器。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
Object | 地图选项,其中坐标系选项是必须要指明的。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
successedCallback |
function | 地图初始化成功的回调函数,地图其他逻辑的编写都要在回调函数中开始执行。默认执行函数:控制台输出"The map is completed!" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
failedCallback |
function | 地图初始化失败的回调函数,该回调函数中可以处理和地图无关的业务逻辑,默认为null。 |
Example
//要在body元素中添加<div id="hmap"></div>
let coord = new hmap.basetype.Coordinate(120.435078, 30.19345, 0);
let mapOptions = {
zoom: 12,//地图初始化时的级别
center: coord,//地图初始化时的中心点
crs:new hmap.proj.Crs('4326')//地图采用的坐标系
};
//"hmap"为地图容器div元素的id
let map = new hmap.Map("hmap", mapOptions,callback);
//Map对象初始化完成后执行的方法
function callback(){
console.log("Map 对象初始化完成!");
}
Members
-
frameHelper
-
帧辅助对象
Methods
-
addControl(control)
-
添加一个地图控件。注意:同类型的控件只能添加一个,之后的都会被忽略,起不到控件本来的作用
Parameters:
Name Type Description control
module:control~Control 地图控件。
Example
let panControl = new hmap.control.Pan(); map.addControl(panControl);
-
addLayer(layer, zIndex)
-
添加图层。将图层添加到图层容器中。
Parameters:
Name Type Description layer
module:layer~Layer | module:layer~OverlayLayer | module:layer~ThreeJSLayer 图层对象。包括三类图层:1、继承自Layer的矢量图层、矢量切片图层、栅格切片图层、流式矢量切片图层、地形地貌图层、路况图层等;2、地图叠加层;3、ThreeJSLayer
zIndex
Number | null 一个整数,用以指定Layer在图层容器中的上下叠加顺序,值大的会压盖值小的图层,故显示在上面。不传或传null时,会自动赋值:该值取该图层容器中所有图层zIndex最大值+1。
Throws:
zIndex不是正整数时,抛出异常;
Example
map.addLayer(layer);
-
addLayers(layers)
-
添加一组图层。该方法根据图层在数组中的先后顺序,依次将图层添加到地图上。
Parameters:
Name Type Description layers
Array.<(module:layer~Layer|module:layer~OverlayLayer|module:layer~ThreeJSLayer)> 图层对象数组。包括三类图层:1、继承自Layer的矢量图层、矢量切片图层、栅格切片图层、流式矢量切片图层、地形地貌图层、路况图层等;2、叠加层;3、ThreeJSLayer。
Example
map.addLayers([layer1,layer2]);
-
addLight(light)
-
给地图添加精准光源
Parameters:
Name Type Description light
module:light~Light 要添加到地图的光源
-
destroy()
-
地图销毁。和Map相关的事件、控件、DOM元素以及地图对象本身都将从内存中移除。
-
detectAllFeaturesAtPixel(pixel, layers, tolerance) → {Array.<Object>}
-
拾取当前位置的所有要素,相互覆盖的也会被拾取,贴地要素的拾取建议使用detectFeaturesAtPixel
Parameters:
Name Type Default Description pixel
Pixel 当前鼠标位置
layers
Array.<VectorLayer> 图层实例的数组,默认获取所有矢量图层
tolerance
Number 1 拾取容差值,像素单位,在鼠标位置点周围容差范围内的要素,都会被拾取到,默认为1,最大值为3。
Returns:
Array.<Object> -地理要素/模型的数组。如果没有检测到任何对象则返回空数组。
-
detectFeaturesAtPixel(pixel, layerNames, tolerance) → {Array.<Object>}
-
在地图上搜索给定像素的地理元素,被遮挡的视为不可见。注意:无法搜索图片式图层中的地理要素/模型。
Parameters:
Name Type Default Description pixel
module:basetype~Pixel 一个屏幕像素。
layerNames
Array.<String> null 图层名称组成的数组。返回的地理要素/模型仅限于指定的图层之内,如果不指定,则查询所有图层。
tolerance
Number 1 拾取容差值,像素单位,在鼠标位置点周围容差范围内的要素,都会被拾取到,默认为1,最大值为3。
Returns:
Array.<Object> -地理要素/模型的数组。如果没有检测到任何对象则返回空数组。
Example
let pixel = new hmap.basetype.Pixel(200, 100); let results = map.detectFeaturesAtPixel(pixel);
-
disableInteractive()
-
取消和要素的交互
-
disableLight()
-
关闭地图光照,但不删除光照对象
-
enableInteractive()
-
激活和要素的交互,要素所在图层的enableHashCode=true时可以进行交互。
要素包含{module:feature~Vector}、{module:model~Stretch}、{module:model~Obj}、{module:model~FbxModel}、{module:model/gltf~GLTF};
交互行为:onClick、onHover。其中,移动端仅支持onClick。 -
enableLight()
-
全局开启地图的光照
-
flyTo(options, finishCallback, stepCallback) -
滑行动画实现地图移动倾斜缩放,仅适用于二维地图的漫游,三维地形有穿模的风险,该方法无法保证。
Parameters:
Name Type Description options
Object 动画选项
Name Type Description desCoord
module:basetype~Coordinate 移动到的目标位置
desZoom
Number 缩放到的目标级别
pitch
Number 旋转的俯仰角变化量,相对角度
bearing
Number 旋转的方位角变化量,相对角度
duration
Number 动画持续时间,以毫秒为单位
finishCallback
function 滑行动画结束后回调
stepCallback
function 滑行动画每一帧回调,回调函数的参数是个Object变量(设为stepData),stepData.percentage为当前的漫游进度,stepData.center为当前地图中心点,stepData.zoom为当前地图级别,stepData.pitch为当前俯仰角,step.bearing为当前方位角。
Example
map.flyTo({ desCoord:new hmap.basetype.Coordinate(120,30), pitch:50, bearing:30, duration:5000, desZoom:15 }, () => { console.log("滑行结束"); }, (stepData) => { console.log(stepData); })
- Deprecated:
- Yes
-
get3DCoordinateFromPixel(pixel, layerNames) → {module:basetype~Coordinate}
-
获取地图中的要素与鼠标射线相交的三维坐标。如果鼠标射线和指定图层中的要素没有相交,则返回鼠标射线与地表的相交点的坐标,其中Z值为0。
该方法用于检测鼠标射线与地图中要素的相交情况,返回交点坐标Parameters:
Name Type Description pixel
module:basetype~Pixel 屏幕像素。
layerNames
Array.<String> 参与坐标拾取的图层名称数组,注意:参与坐标拾取的图层初始化时需要将可选项enableHashCode设置为true。
Throws:
pixel参数不是像素module:basetype~Pixel对象时,抛出异常;
-
getAllLayers(type) → {Array.<(module:layer~Layer|module:layer~OverlayLayer)>}
-
获取加载到地图上的所有图层。
Parameters:
Name Type Default Description type
Number 1 一个整数,表示要返回哪些类型的图层,默认值为1。
1 返回所有图层,包括叠加层。
0 返回的图层中不包含叠加层。 -
getAllLights() → {Array.<module:light~Light>}
-
获取地图上的所有精准光源
-
getBearing() → {Number}
-
获取地图当前的方位角
Returns:
Number -地图方位角
-
getCamera() → {module:util~Camera}
-
获取相机对象。
Example
let camera = map.getCamera();
-
getCenter() → {module:basetype~Coordinate}
-
获取地图视窗中心的地理坐标。
-
getContext() → {WebglContext}
-
获取绘制上下文
Returns:
WebglContext -
getControlByType(controlType)
-
获取指定类型的控件。
Parameters:
Name Type Description controlType
String 控件类型。有以下几种枚举值:
Example
map.getControlByType(hmap.control.controlType.Zoom);
-
getControls() → {Array.<module:control~Control>}
-
获取添加到地图上的所有控件。
-
getCoordinateFromPixel(pixel) → {module:basetype~Coordinate}
-
计算屏幕像素位置所对应的地理坐标。
该方法在两种情况下计算的准确度将降低:
1.地理坐标超出地图视窗的地理范围时;
2.地图旋转的俯仰角较大时,偏离地图中心越远,准确度越低。Parameters:
Name Type Description pixel
module:basetype~Pixel 屏幕像素。
Throws:
pixel参数不是像素module:basetype~Pixel对象时,抛出异常;
Example
let pixel = new hmap.basetype.Pixel(100, 50); let result = map.getCoordinateFromPixel(pixel);
-
getCrs() → {module:proj~Crs}
-
获取当前地图的坐标系对象。
-
getEnvironment() → {module:light~Environment}
-
获取全局光照
Returns:
module:light~Environment -
getExtent() → {module:basetype~Extent}
-
获取当前地图视窗的地理范围。
Example
let result = map.getExtent();
-
getExtentZoom(extent) → {Number}
-
返回包含给定extent的最适合的zoom
Parameters:
Name Type Description extent
module:basetype~Zoom 范围对象
Returns:
Number -
getFogColor() → {module:style~Color}
-
获取雾的颜色
-
getGeoGridLayer() → {module:layer~GeoGridLayer}
-
获取地理网格(经纬网)图层对象
Returns:
module:layer~GeoGridLayer -地理网格图层
-
getHeightByCoord(coord) → {Number|null}
-
获取指定坐标点位,在地图三维场景中的实际高程。当传入的坐标点经纬度,不在地图范围内时,或者没有地图数据时(此时webgl深度值为1),会返回null。
Parameters:
Name Type Description coord
module:basetype~Coordinate 待计算高程的坐标点。
Returns:
Number | null -传入坐标在地图三维场景中的实际高程,单位和地图单位一致。如果是4326坐标系,可以通过地图对象上的getDegreePerMeter方法,进行地图单位和米的转换。
-
getHighlightColor() → {module:style~Color}
-
获取全局高亮颜色
-
getLandColor() → {module:style~Color}
-
获取陆地颜色
-
getLayerCount() → {Number}
-
获取图层数量。
Returns:
Number -图层数量。
-
getLayersByName(name) → {Array.<(module:layer~Layer|module:layer~OverlayLayer)>}
-
根据名称获取图层对象。
Parameters:
Name Type Description name
String 图层名称。
-
getLayerZIndex(layer) → {Number}
-
获取图层的顺序(zIndex)。
Parameters:
Name Type Description layer
module:layer~Layer 图层对象
Returns:
Number -图层的zIndex值
-
getMaxResolution() → {Number}
-
获取当前地图的最大分辨率。
Throws:
分辨率数组为空时,抛出异常;
Returns:
Number -最大分辨率。
-
getMaxZoom() → {Number}
-
获取地图最大缩放级别。
Returns:
Number -最大缩放级别。
-
getMinResolution() → {Number}
-
获取当前地图的最小分辨率。
Throws:
分辨率数组为空时,抛出异常;
Returns:
Number -最小分辨率。
-
getMinZoom() → {Number}
-
获取地图最小缩放级别。
Returns:
Number -最小缩放级别。
-
getPanEnable() → {Boolean}
-
返回一个值,指示当前地图是否允许平移。
Returns:
Boolean -true表示允许平移,false表示不允许平移。
-
getPitch() → {Number}
-
获取地图当前的俯仰角
Returns:
Number -地图俯仰角
-
getPixelFromCoordinate(coord) → {module:basetype~Pixel}
-
计算地理坐标对应的屏幕像素位置。起算点是当前屏幕坐标系原点。
该方法在三种情况下计算的准确度将降低:
1.当地理坐标超出地图视窗的地理范围时;
2.当地图旋转的俯仰角较大时,偏离地图中心越远准确度越低;
3.地理坐标的Z分量接近甚至超出相机高度时。Parameters:
Name Type Description coord
module:basetype~Coordinate 地理坐标。转换过程考虑地理坐标的高程分量。
Throws:
coord参数不是坐标module:basetype~Coordinate对象时,抛出异常;
Example
let coord = new hmap.basetype.Coordinate(120.13982, 30.34331, 0); let result = map.getPixelFromCoordinate(coord);
-
getPixelRatio() → {Number}
-
获取设备物理像素和设备独立像素之间的比率
Returns:
Number -
getResolution(zoom) → {Number}
-
获取地图分辨率。如果传入zoom参数,则返回对应缩放级别的分辨率,否则返回当前缩放级别的分辨率。
Parameters:
Name Type Description zoom
Number 缩放级别。
Throws:
分辨率数组为空时,抛出异常;
参数zoom比0小,或大于等于分辨率数组的长度时,抛出异常。Returns:
Number -地图分辨率。
-
getResolutions() → {Array.<Number>}
-
获取地图分辨率数组。
Returns:
Array.<Number> -分辨率数组。
-
getRestrictedExtent() → {module:basetype~Extent}
-
获取允许访问的最大地理范围
-
getRidgeAndValleyLines(precision, mode) → {Object}
-
获取当前地图范围内的山脊线、山谷线矢量数据。此功能考虑到性能,没有做非常精细的计算,提取到的山脊线、山谷线仅作为示意。
Parameters:
Name Type Default Description precision
Number 5 精度,值越大,精度越高,耗时也越久,值范围为1——10,默认值为5。
mode
Number 0 类型,当值为0时,同时计算山脊线、山谷线;当值为1时,仅计算山脊线;当值为2时,仅计算山谷线。默认值为0。
Returns:
Object -一个对象,其中属性ridgeLines为山脊线,属性valleyLines为山谷线,当计算山脊线和山谷线时,山脊线和山谷线均为数组,否则为null。
-
getRotateAngle(type) → {Number}
-
获取地图当前的方位角或俯仰角
Parameters:
Name Type Description type
String 旋转类型,可选类型为"bearing"和"pitch"。"bearing"为方位角,"pitch"为俯仰角。
Returns:
Number -方位角或俯仰角的值
-
getRotateEnable() → {Boolean}
-
返回一个值,指示当前地图是否允许旋转。
Returns:
Boolean -true表示允许旋转,false表示不允许旋转。
-
getScale() → {Number}
-
获取当前地图比例尺分母,根据地图的分辨率、坐标系和当前级别计算得出。
Returns:
Number -当前地图比例尺分母。
Example
let result = map.getScale();
-
getSkyImage() → {Image}
-
获取天空背景图片
Returns:
Image -天空背景图片
-
getSunlight() → {module:light~SunLight}
-
获取日照光对象
-
getViewport() → {Array.<Number>}
-
计算当前地图视口的像素范围。
Returns:
Array.<Number> -像素范围。
Example
let result = map.getViewport();
-
getZoom(res) → {Number}
-
获取地图缩放级别。如果传入res参数,则在分辨率数组中寻找最接近res且不小于res的级别,否则返回地图的当前缩放级别。
Parameters:
Name Type Description res
Number 分辨率。
Returns:
Number -缩放级别。
-
getZoomEnable() → {Boolean}
-
返回一个值,指示当前地图是否允许缩放。
Returns:
Boolean -true表示允许缩放,false表示不允许缩放。
-
getZoomWithInterval() → {Number}
-
获取地图当前缩放层级,当创建地图时参数zoomInterval不为1,且地图缩放级别不在整数级别时,此时返回的值则有小数部分。
Returns:
Number -地图当前缩放层级
-
moveMapToDiv(idOrElement)
-
移动地图到指定的div中。该方法,将把已创建好的地图对象,从放置当前地图对象的div元素中移除,并添加到指定的新的div中。
Parameters:
Name Type Description idOrElement
String | HTMLElement 将要放置地图的目标div,或者其id。如果目标div元素在该页面嵌套的iframe中,不能传入id,需通过iframe获取到div元素作为参数传入,可参考示例代码。
Example
... let map = new hmap.Map(hmapDiv); let childIframe = document.getElementById('childIframe); let targetDiv = childIframe.contentDocument.getElementById(targetId); map.changeMapDom(targetDiv);
-
panTo(coordinate)
-
将地图移动到指定坐标,忽略坐标的Z值。
Parameters:
Name Type Description coordinate
module:basetype~Coordinate 移动到的坐标位置
-
pauseFly()
-
暂停地图滑行
-
printMap()
-
截图功能。提供地图canvas上渲染内容的截图,地图叠加层(OverlayLayer)所添加要素为div,不包括在内。
-
redraw(type)
-
重绘地图
Parameters:
Name Type Default Description type
Number 0 可选值0|1,缺省值为0。
0:map内的所有图层都清屏,并重新绘制。
1:图层的redraw调用时会设置type为1,图层范围内重新绘制。 -
removeAllLayers()
-
去除与地图对象挂接的所有图层。图层对象脱离地图对象后依然存在,直到彻底销毁这些图层。
-
removeControl(control)
-
移除地图控件。
Parameters:
Name Type Description control
module:control~Control 地图控件
-
removeEnvironment()
-
移除全局光照
-
removeLayer(layer)
-
从地图对象的图层数组中移除指定图层。注意:图层对象脱离地图对象后依然存在,直到该图层被彻底销毁。
Parameters:
Name Type Description layer
module:layer~Layer | module:layer~OverlayLayer | module:layer~ThreeJSLayer 要删除的图层。
-
removeLight(light)
-
从地图上删除指定的精准光源
Parameters:
Name Type Description light
module:light~Light 要删除的光源
-
removeSkybox()
-
移除天空盒背景
-
resize()
-
当窗口改变时,更改相机参数,用户设置全屏或者取消全屏时,检测不到窗口变化,需要手动调用此方法
-
resumeFly()
-
继续地图滑行
-
rotate(type, angle, baseZero) → {Number}
-
按照指定的角度与旋转类型来旋转地图。
Parameters:
Name Type Default Description type
String 旋转类型,可选类型为"bearing"和"pitch"。"bearing"为方位角,表示指北针绕垂直地表方向顺时针旋转过的角度;"pitch"为俯仰角,表示视线方向和垂直地表方向形成的夹角,俯仰角的设置值若大于最大俯仰角,则按最大俯仰角设置。地图俯仰角不能小于0。
angle
Number 旋转的角度,单位为度。其中,bearing:正北方向为0度,绕Z轴逆时针旋转为正;pitch:平行于屏幕为0,绕X轴逆时针旋转为正。
baseZero
Boolean false 是否从0度开始旋转,true:从0度开始旋转;false:在上一个旋转角度基础上继续旋转的角度。缺省值:false。
Returns:
Number -旋转的总角度。假如当前地图已经旋转的角度为N,那么返回值所表示的角度为N+angle。
-
setCenter(center, zoom)
-
设置地图的中心点和缩放级别。
Parameters:
Name Type Description center
module:basetype~Coordinate 地图中心点的地理坐标。设置中心点时,Z值坐标无效。
zoom
Number 地图缩放级别。如果参数小于最小的缩放级别,则缩小到最小级级别;反之如果参数大于最大级别,则放大到最大级别。
Throws:
center参数不是坐标module:basetype~Coordinate对象时,抛出异常;
-
setCloudStatus(options)
-
设置地图天空云朵状态
Parameters:
Name Type Description options
null | Object 可选项,当参数为null时,不显示云朵。
Name Type Description cloudCover
Number 天空的云朵覆盖率,默认0.4,值越高云朵越多(注意:1.0不代表完全覆盖)。
shadowRatio
Number 云朵底部阴影的比例,默认值0.5。
shadowThickness
Number 云朵底部阴影深浅程度,默认值0.2。
timeRate
Number 云朵随时间变化的速率,默认值0.7。
scale
Number 云朵的缩放比例,会对云朵覆盖率有一定程度的影响,默认值0.5。
-
setDepthMode(mode)
-
地图场景纵深感模式设置,支持0和1两种。
模式0的纵深感较浅,适用于VectorTileLayer、TMSLayer等网格式图层;模式1的纵深感相当于模式0的纵深感的5倍,适用于地理解决方案图层、矢量图层、模型图层、S3MLayer、Tile3DLayer等。Parameters:
Name Type Default Description mode
Number 0 纵深感模式
-
async setEnvironment(source, options) → {Promise}
-
设置全局光照,可以在设置天空盒之后直接调用,无需source参数
Parameters:
Name Type Description source
Array.<String> | String | module:light~AmbientLight 全局光照用到的天空盒子对应的六张图片的路径或者全景图对应的HDR文件,或环境光对象,特殊的标识为“skybox”将直接从天空盒获取环境光数据
options
Object 可选项
Name Type Description exposure
Number 曝光度,默认为1,可以通过该值调整场景整体亮度;
gamma
Number Gamma校正,默认为1
renderSkybox
Boolean 渲染环境光到天空盒子,会覆盖setSkybox结果
Returns:
Promise -
setFlySpeedRatio(ratio)
-
设置地图滑行动画的速度倍率
Parameters:
Name Type Description ratio
Number 地图滑行动画的速度倍率,默认1,speedRatio大于1表示加速,小于1表示减速,小于等于0的设置无效。
Example
map.setFlySpeedRatio(2); //2倍率速度滑行
-
setFogColor(color)
-
设置雾的颜色
Parameters:
Name Type Description color
module:style~Color 雾颜色
-
setHighlightColor(color) → {module:Map~Map}
-
设置全局高亮颜色值
Parameters:
Name Type Description color
module:style~Color 全局高亮颜色值
-
setLandColor(color)
-
设置地图的陆地背景色
Parameters:
Name Type Description color
module:style~Color 背景颜色
-
setLayerZIndex(layer, zIndex)
-
调整当前图层在所有图层中的位置(zIndex)。zIndex决定了图层的渲染顺序。
Parameters:
Name Type Description layer
module:layer~Layer | module:layer~OverlayLayer 要调整的图层。
zIndex
Number 图层的位置。
-
setMaxZoom(zoom)
-
设置地图最大缩放级别。
Parameters:
Name Type Description zoom
Number 地图最大缩放级别。
Throws:
下述情况下将抛出异常:
1.参数zoom非整数值;
2.参数zoom小于0,或大于等于分辨率数组的长度;
3.参数zoom比最小缩放级别小。 -
setMinZoom(zoom)
-
设置地图最小缩放级别。
Parameters:
Name Type Description zoom
Number 地图最小缩放级别。
Throws:
下述情况下将抛出异常:
1.参数zoom非整数值;
2.参数zoom小于0,或大于等于分辨率数组的长度;
3.参数zoom比最大缩放级别大。 -
setMouseCursor(cursor)
-
设置鼠标样式。
Parameters:
Name Type Description cursor
String 鼠标样式。CSS中的鼠标光标值,如需自定义图标请注意以下几点:1、大小不能大于32*32 2、最好是 ico,cur格式 3、在逗号后面加通用光标
Example
map.setMouseCursor("url('/img/cursor.ico'), pointer");
-
setPanEnable(enablePan)
-
激活或者禁用平移控件。
Parameters:
Name Type Description enablePan
Boolean true表示激活,false表示禁用。
-
setPixelRatio(pixelRatio)
-
设置设备物理像素和设备独立像素之间的比率,一般是为window.devicePixelRatio
Parameters:
Name Type Description pixelRatio
Number 范围在[0.25, 5]
-
setResolutions(resolutions) → {module:Map~Map}
-
设置地图分辨率数组。
Parameters:
Name Type Description resolutions
Array.<Number> 分辨率数组。
-
setRestrictedExtent(extent)
-
设置允许访问的最大地理范围
Parameters:
Name Type Description extent
module:basetype~Extent 允许访问的最大地理范围
-
setRotateEnable(enableRotate)
-
激活或者禁用旋转控件。
Parameters:
Name Type Description enableRotate
Boolean true表示激活,false表示禁用。
-
setSkybox(images, callback)
-
设置天空盒背景,需要传入6个长度的图片路径数组,图片的顺序依次为前、后、上、下、左、右
不传或误传,则使用hmap.initState.resource目录下images/customSky/中的天空盒图片Parameters:
Name Type Description images
Array.<String> | null | String | undefined 图片路径数组,如果传值为字符串,则会去resource路径下,images文件夹中寻找该字符串名称的天空盒文件夹,字符串有“blueSky”、"blueStar"、“cloudSky”、“customSky”、“night”、“seaSky”、“sunny”、“sunrise”、“twilight”等枚举可使用。
callback
function | undefined 天空盒图片加载完成后的回调
Throws:
不传或误传images参数,抛出异常;
-
setSkyImage(img)
-
设置天空的背景,设置前需移除天空盒背景。若未设置此值,地图天空将按照天空盒背景或者雾化的颜色来渲染。
Parameters:
Name Type Description img
Image | String | null Image对象或Image的url, 若值为null则不使用天空背景,此时若也未设置天空盒背景,则采用雾化颜色渲染。
图片大小建议,宽度:与屏幕宽度一致时为最佳,高度:以地图最大倾斜时,天空或雾化部分的高度为最佳。 -
setSplitScreenMode(splitScreen) -
设置分屏模式,取值为1|2|3。默认为1不分屏,2代表左右两屏,3代表上下两屏。
注:!!!已废弃,分屏推荐使用分屏控件hmap.control.Roller或者hmap.frame.SplitScreenFrameParameters:
Name Type Default Description splitScreen
Number 1 分屏模式
- Deprecated:
- Yes
-
setZoomEnable(enableZoom)
-
激活或者禁用缩放控件。
Parameters:
Name Type Description enableZoom
Boolean true表示激活,false表示禁用。
-
setZoomInterval(zoomInterval)
-
设置地图级别改变一级时,需要滚轮滚动的次数。
Parameters:
Name Type Description zoomInterval
Number 地图级别改变一级时,需要滚轮滚动的次数
-
startAutoRotate(type, speed)
-
开启自动旋转,如果处于自动旋转状态,再次调用相同方向的自动旋转则为无效操作
Parameters:
Name Type Default Description type
String clockwise 旋转方向,旋转方向分顺时针'clockwise'与逆时针'inverse',默认顺时针旋转
speed
Number 1 旋转速度,默认值为1 可以设置的范围为0-100,按照需要的速率调节
-
stopAutoRotate()
-
停止自动旋转
-
stopFly()
-
停止地图滑行,销毁当前的滑行动画
-
transition(speed, onReady, onComplete)
-
场景过渡
Parameters:
Name Type Default Description speed
Number 1 场景变换速度,默认为1
onReady
function | undefined 场景转换准备好,因场景过渡的原始纹理获取是个异步的过程,所以增加了回调
onComplete
function | undefined 场景变换完成后回调
-
updateLight(light)
-
更新光照
Parameters:
Name Type Description light
module:light~Light 要更新的光源
-
useSkyboxLand(useLand)
-
是否使用天空盒的地面。矢量切片不建议,会破坏样式风格。
Parameters:
Name Type Description useLand
Boolean 是否使用天空盒地面
-
zoomIn()
-
调用该方法一次,地图将放大一级,直到最大级别。
-
zoomOut()
-
调用该方法一次,地图将缩小一级,直到最小级别。
-
zoomTo(zoom)
-
将地图缩放到指定级别。
Parameters:
Name Type Description zoom
Number 地图的缩放级别,类型为正整数。如果参数小于最小的缩放级别,则缩小到最小级级别;反之如果参数大于最大级别,则放大到最大级别。
-
zoomToExt(ext, fit)
-
缩放到指定的地理范围。若缩放层级超出最大层级按照最大层级显示。
Parameters:
Name Type Default Description ext
module:basetype~Extent 地理范围
fit
Boolean false 是否严格包围地理范围,默认为false,设置为true使得上下或左右边界和视图重合。