# loca-hexagon 蜂窝热力图

蜂窝网格图,将普通的点数据按照蜂窝网格划分成若干区域,每个蜂窝网格区域都会包含落在此区域内的点数据信息。 每个蜂窝网格格子支持单独设置自定义的高度信息、颜色信息。 要注意的是:我们认为所有蜂窝网格格子必须是唯一的大小(radius)和间隙(gap)。 我们还在带有高度的蜂窝网格中加入了可接受光照信息的属性:acceptLight。假如设置了光照并在图层中开启接受光照, 那么每个立体蜂窝网格将会有光照反射的效果。

1. Loca 2.0 版本

# 基本用法

<div class="map-container">
  <amap-map :center="center">
    <loca>
      <loca-hexagon
        :points="points"
        :radius="120"
        unit="meter"
        :height="3000"
        @complete="hexagonComplete"
      >
      </loca-hexagon>
    </loca>
  </amap-map>
</div>
<script>
export default {
    data() {
      return {
        center: [121.499358, 31.240171],
        points: null
      };
    },
  methods: {
    hexagonComplete(hexagon){
      console.log(hexagon)
    }
  },
  mounted(){
    this.points = new Loca.GeoJSONSource({ url: 'https://a.amap.com/Loca/static/loca-v2/demos/mock_data/hz_road_level.json',});
  }
}
</script>
<style>
.map-container {
  height: 400px;
  width: 100%
}
</style>

# 图层参数

参数 类型 说明
data Array | Object 为必填值,data可以为点对象的数组,或者是geojson格式的对象,或者是直接传入Loca.GeoJSONSource()处理过后的对象
zIndex Number 默认:10 ,图层显示层级,如果图层的深度检测开启,那么 zIndex 有可能失效。
opacity Number 默认:1 ,图层的透明度, 取值范围[0,1]
visible Boolean 默认:true ,图层是否可见
zooms Array 支持的缩放级别范围[2,20]
cullface String 默认:back ,剔除背面/前面的面(选择剔除将会提升性能),可选:back/front/none,back是剔除背面的面,front是剔除前面的面,none是不进行剔除。
acceptLight Boolean 默认:true , 立体蜂窝网格是否接受光照,光照信息在 loca 对象中配置
depth Boolean 默认:true , 是否有深度检测能力,当图层元素没有高度的时候,并且需要 zIndex 生效,那么请关闭深度检测。
shininess Number 默认:30 ,立体蜂窝网格的粗糙度,值越高,说明表面越粗糙。
hasSide Boolean 默认:true , 当立体蜂窝网格有厚度的时候,有没有侧面和底面

# 图层样式参数

setStyle(options): 更新图层样式,如果有的字段被缺省,那么它的值将会被重置为默认值

参数说明: options (HeatMapStyle)

参数 类型 默认值 说明
topColor (String | Function) #ffffff 顶面颜色
sideColor (String | Function) #ffffff 侧面颜色
altitude Number 0 海拔高度,也就是立面的底面的高度。单位:米。支持动画过渡效果
height Number 0 网格高度,也就是立面的顶面的高度。单位:米。支持动画过渡效果
radius Number 1000 一个网格的半径大小,只能是一个常量值。单位由 unit 决定。
gap Number 0 相邻网格的间隙大小,只能是一个常量值。单位由 unit 决定。
unit String meter 单位,只能是一个常量值。可选项: px, meter。一个是屏幕像素单位,一个是地理单位。地理单位性能更加优异。