new mapboxgl.supermap.HeatMapLayer(name, options)
Name | Type | Description | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name |
string |
图层名称。 |
||||||||||||||||||||||||||||||||||||
options |
Object |
构造参数。
|
Fires
Extends
Members
-
canvasContextObject
-
热点图主绘制对象。
-
colorsArray.<string>
-
颜色线性渐变数组,颜色值必须为 canvas 所支。
- Default Value: ['blue','cyan','lime','yellow','red']
EVENT_TYPES
监听一个自定义事件可用如下方式: 热点图自定义事件信息,事件调用时的属性与具体事件类型相对应。
All event objects have at least the following properties: {Object} object - A reference to layer.events.object. {DOMElement} element - A reference to layer.events.element.
支持的事件如下 (另外包含 <SuperMap.Layer 中定义的其他事件>): featuresadded - 热点添加完成时触发。传递参数为添加的热点信息数组和操作成功与否信息。 参数类型:{features: features, succeed: succeed} featuresremoved - 热点被删除时触发。传递参数为删除的热点信息数组和操作成功与否信息。 参数类型:{features: features, succeed: succeed} featuresdrawcompleted - 热点图渲染完成时触发,没有额外属性。
featuresArray.<SuperMap.Feature.Vector>
热点信息数组,记录存储图层上添加的所有热点信息。
featureWeightstring
对应 feature 属性中的热点权重字段名称,权重值类型为 float。
Example
//feature.attributes中表示权重的字段为 height,则在 HeatMapLayer 的 featureWeight 参数赋值为 "height"。
feature1.attributes.height = 7.0;
feature2.attributes.height = 6.0;
var heatMapLayer = new mapboxgl.supermap.HeatMapLayer("heatmaplayer",{"featureWeight":"height"});
heatMapLayer.addFeatures([feature1,feature2]);
idstring
热力图图层 id。
loadWhileAnimatingboolean
是否实时重绘。(当绘制大数据量要素的情况下会出现卡顿,建议把该参数设为false)。
- Default Value: true
mapmapboxgl.Map
热力图图层 map。
maxHeightnumber
当前绘制面板宽度。和当前 map 窗口高度一致。
maxWeightnumber
设置权重最大值。如果不设置此属性,将按照当前屏幕范围内热点所拥有的权重最大值绘制热点图。
maxWidthnumber
当前绘制面板宽度。和当前 map 窗口宽度一致。
minWeightnumber
设置权重最小值。如果不设置此属性,将按照当前屏幕范围内热点所拥有的权重最小值绘制热点图。
namestring
图层名字。
opacitynumber
图层透明度,取值范围[0,1]。
- Default Value: 1
radiusnumber
热点渲染的最大半径(热点像素半径), 热点显示的时候以精确点为中心点开始往四周辐射衰减, 其衰减半径和权重值成比列。
- Default Value: 50
rootCanvasObject
热点图主绘制面板。
supportedboolean
当前浏览器是否支持 canvas 绘制, 决定了热点图是否可用,内部判断使用。
useGeoUnitboolean
使用地理单位,即默认热点半径默认使用像素单位。 当设置为 true 时,热点半径和图层地理坐标保持一致。
visibilityboolean
图层显示状态属性。
- Default Value: true
Events
-
changelayer
mapboxgl/overlay/HeatMapLayer.js, line 300 -
图层属性改变之后触发。
Properties:
Name Type Description layer
Object 图层。
property
string 被改变的图层属性。
-
featuresadded
mapboxgl/overlay/HeatMapLayer.js, line 263 -
要素添加完成之后触发。
Properties:
Name Type Description features
GeoJSONObject 被添加的要素。
succeed
boolean 要素是否成功添加。
-
featuresremoved
mapboxgl/overlay/HeatMapLayer.js, line 560 -
要素删除之后触发。
Properties:
Name Type Description features
Array.<SuperMap.Feature.Vector> 需要被删除的要素。
succeed
boolean 要素删除成功与否。
Methods
-
addFeatures(features)
mapboxgl/overlay/HeatMapLayer.js, line 235 -
添加热点信息。
Name Type Description features
GeoJSONObject 待添加的要素数组。
Example
var geojson = { "type": "FeatureCollection", "features": [ { "type": "feature", "geometry": { "type": "Point", //只支持point类型 "coordinates": [0, 0] }, "properties": { "height": Math.random()*9, "geoRadius": useGeoRadius?radius:null } } ] }; var heatMapLayer = new mapboxgl.supermap.HeatMapLayer("heatmaplayer",{"featureWeight":"height"}); pLayer = new mapboxgl.supermap.HeatMapLayer("heatmaplayer",{"featureWeight":"height"}); heatMapLayer.addFeatures(geojson); map.addLayer(heatMapLayer);
-
getPixelXY(x, y)
mapboxgl/overlay/HeatMapLayer.js, line 484 -
转换地理坐标为相对于当前窗口左上角的像素坐标。
Name Type Description x
number 热点的像素 x 坐标。
y
number 热点的像素 y 坐标。
-
moveTo(layerID, before)
mapboxgl/overlay/HeatMapLayer.js, line 579 -
将图层移动到某个图层之前。
Name Type Default Description layerID
string 待插入的图层ID。
before
boolean true 可选 是否将本图层插入到图层 id 为 layerID 的图层之前(如果为 false 则将本图层插入到图层 id 为 layerID 的图层之后)。
-
onAdd()
mapboxgl/overlay/HeatMapLayer.js, line 178 -
向底图添加该图层
-
refresh()
mapboxgl/overlay/HeatMapLayer.js, line 274 -
强制刷新当前热点显示,在图层热点数组发生变化后调用,更新显示。
-
refresh()
mapboxgl/overlay/theme/ThemeLayer.js, line 106 -
强制刷新当前热点显示,在图层热点数组发生变化后调用,更新显示。
-
removeAllFeatures()
mapboxgl/overlay/HeatMapLayer.js, line 570 -
移除全部的热点信息。
-
removeFeatures(features)
mapboxgl/overlay/HeatMapLayer.js, line 531 -
移除指定的热点信息。
Name Type Description features
Array.<SuperMap.Feature.Vector> 热点信息数组。
-
removeFromMap()
mapboxgl/overlay/HeatMapLayer.js, line 205 -
从底图删除该图层。
-
setOpacity(opacity)
mapboxgl/overlay/HeatMapLayer.js, line 288 -
设置图层的不透明度,取值[0-1]之间。
Name Type Description opacity
number 可选 透明度。
-
setVisibility(visibility)
mapboxgl/overlay/HeatMapLayer.js, line 605 -
设置图层可见性,设置图层的隐藏,显示,重绘的相应的可见标记。
Name Type Description visibility
boolean 可选 是否显示图层(当前地图的resolution在最大最小resolution之间)。
-
toiClientFeature(features)
mapboxgl/overlay/HeatMapLayer.js, line 503 -
转为 iClient 要素。
Name Type Description features
GeoJSONObject 待添加的要素数组。
-
updateHeatPoints(bounds)
mapboxgl/overlay/HeatMapLayer.js, line 311 -
刷新热点图显示。
Name Type Description bounds
mapboxgl.LngLatBounds 当前显示范围。