# loca-heatmap 热力图
热力图,支持 3D 和不同颜色设置的聚合点数据显示。并且支持像素单位和米单位的热力聚合。
1. Loca 1.3 版本
# 基本用法
<div class="map-container">
<amap-map :center="center" view-mode="3D">
<loca-heatmap
value="queue_len"
lnglat="lnglat"
:points="points"
:radius="18"
:color="color"
>
</loca-heatmap>
</amap-map>
</div>
<script>
export default {
data() {
return {
center: [121.499358, 31.240171],
color: {
0.5: '#2c7bb6',
0.65: '#abd9e9',
0.7: '#ffffbf',
0.9: '#fde468',
1.0: '#d7191c'
},
points: []
};
},
methods: {
heatmapComplete(heatmap){
console.log(heatmap)
}
},
mounted(){
const points = require('../mock/roadHeat.json');
points.forEach(point => point.lnglat = [point.lng, point.lat] )
// points 数据结构 [{"queue_len": 26.67,"len": 22,"inter_name": "延安中路","lng": 121.445626, "lat": 31.220965, "lnglat": [121.445626,31.220965],...},]
this.points = points;
console.log(this.points)
}
}
</script>
<style>
.map-container {
height: 400px;
width: 100%
}
</style>
# 图层参数
参数 | 类型 | 说明 |
---|---|---|
data | Array | 为必填值,data为点对象的数组,数组对象必须包含 lnglat: [lng, lat] 经纬度信息字段 |
zIndex | Number | 图层显示层级, 默认:10 |
visible | Boolean | 图层是否可见 默认:true |
type | string | 为必填值,默认值 json , 数据格式, 默认 JSON 格式 |
radius | Number | 为必填值 热力的聚合半径,支持每个点的半径单独设置,单位取决于 unit 字段。支持动画过渡效果。 |
value | String | 为必填值 指定热力映射的字段名, 默认为 value , |
color | Object | 热力的颜色梯度,值是对象映射的形式。 |
opacity | Number | 图层的透明度, 取值范围[0,1],默认:1 |
height | Number | 热力最高点的高度值,单位取决于 unit 字段。支持动画过渡效果。 |
2. Loca 2.0 版本
<div class="map-container">
<amap-map :center="center">
<loca>
<loca-heatmap
value="avg"
:points="points"
:radius="200000"
unit="meter"
:height="500000"
:color="gradient"
@complete="heatmapComplete"
:heightBezier = "[0, .53, .37, .98]"
>
</loca-heatmap>
</loca>
</amap-map>
</div>
<script>
export default {
data() {
return {
center: [121.499358, 31.240171],
gradient: {
0.1: '#2A85B8',
0.2: '#16B0A9',
0.3: '#29CF6F',
0.4: '#5CE182',
0.5: '#7DF675',
0.6: '#FFF100',
0.7: '#FAA53F',
1: '#b5450a',
},
points: null
};
},
methods: {
heatmapComplete(heatmap){
console.log(heatmap)
}
},
mounted(){
this.points = new Loca.GeoJSONSource({url: 'https://a.amap.com/Loca/static/loca-v2/demos/mock_data/traffic.json',});
}
}
</script>
<style>
.map-container {
height: 400px;
width: 100%
}
</style>
# 图层参数
参数 | 类型 | 说明 |
---|---|---|
data | Array | Object | 为必填值,data可以为点对象的数组,或者是geojson 格式的对象,或者是直接传入Loca.GeoJSONSource() 处理过后的对象 |
zIndex | Number | 图层显示层级, 默认:10 |
opacity | Number | 图层的透明度, 取值范围[0,1],默认:1 |
visible | Boolean | 图层是否可见 默认:true |
radius | Number | 为必填值 热力的聚合半径,支持每个点的半径单独设置,单位取决于 unit 字段。支持动画过渡效果。 |
value | String | 热力点的值的 key 值, 默认为 value ,每个热力点的值,会影响最终的聚合结果,值越高代表越热。 |
color | Object | 热力的颜色梯度,值是对象映射的形式。 |
height | Number | 热力最高点的高度值,单位取决于 unit 字段。支持动画过渡效果。 |
max | Number | null |
min | Number | null |
unit | String | px |