贴地点图层 (Loca.ScatterLayer)

大地面上的点,可展示三种类型:颜色圆、图标、动画图标。动画开启需要使用 loca.animate.start();

提示

来源 @vuemap/vue-amap-loca 组件库

基础示例

静态属性

仅且可以初始化配置,不支持响应式。

名称类型说明
initEventsBoolean是否创建事件,自动为loca图层创建click和mousemove事件。 默认 true
defaultStyleValueObject默认样式,可以查看下面属性说明
extraOptionsObject额外扩展属性,会直接将属性拷贝到初始化的options中,当key与props内的一样时会被props覆盖

动态属性

支持响应式。

名称类型说明
visibleBoolean点标记是否可见,默认为true。
zIndexNumber点标记的叠加顺序。地图上存在多个点标记叠加时,通过该属性使级别较高的点标记在上层显示,默认zIndex:12
sourceUrlString数据源的链接地址,一般是接口地址,返回的数据必须是 geojson 格式。
sourceDataObject数据对象。如果你不想使用 url 方式请求数据,可以直接填写请求好的 geojson 对象。 sourceUrl与sourceData只会生效一个,默认优先判断sourceUrl
layerStyleObject图层样式
zoomsArray图层缩放等级范围,默认[2,20]
opacityNumber图层整体透明度,默认 1
visibleDurationNumber图层显隐时候过渡的时间,默认为0
geoBufferSourceArrayBuffer, Stringprotocol-buffers(PBF) 格式的数据源,能够大幅压缩数据体积,有效减少数据传输时间。目前仅支持基于 mapbox/geobuf 的 GeoJSON PBF 实现

layerStyle参数

警告

layerStyle参数覆盖所有默认值

名称类型说明
size[Number, Number], Function图标长宽,单位取决于 unit 字段。default [20,20]
rotationNumber, Function图标的旋转角度,以正北方向为起点,沿顺时针方向旋转。default 0
colorString , Function没有纹理的情况下,圆片的填充颜色。default 'rgba(200,200,200,1)'
altitudeNumber , Function图标的海拔高度。单位:米。default 0
borderWidthNumber, Function描边宽度,单位和 size 保持一致。default 0
borderColorString, Function没有纹理的情况下,圆片的描边颜色。default 'rgba(250,250,250,1)'
textureCanvas , String , Base64图标纹理资源,如果需要有动态效果,请使用帧序列图片资源:url,并且为了效果更好,我们建议使用宽高: 4096x128 像素的图片。⚠: 帧序列图片是头尾相连可以循环的图片。default null
unitStringsize 和 borderWidth 的单位,可以是 'px' 和 'meter',meter 是实际地理的米,px 是屏幕像素。 default 'px'
animateBoolean是否有动画,动画开启需要使用序列帧的纹理,否则没有动画效果。default false
durationNumber一轮动画的时长,单位毫秒(ms)。需要开启 animate 才能使用。default 0

defaultStyleValue参数

提示

defaultStyleValue提供默认参数,但会被geojson的properties属性中的值覆盖

名称类型说明
size[Number, Number]图标长宽,单位取决于 unit 字段。default [20,20]
rotationNumber图标的旋转角度,以正北方向为起点,沿顺时针方向旋转。default 0
colorString没有纹理的情况下,圆片的填充颜色。default 'rgba(200,200,200,1)'
altitudeNumber图标的海拔高度。单位:米。default 0
borderWidthNumber描边宽度,单位和 size 保持一致。default 0
borderColorString没有纹理的情况下,圆片的描边颜色。default 'rgba(250,250,250,1)'
textureCanvas , String , Base64图标纹理资源,如果需要有动态效果,请使用帧序列图片资源:url,并且为了效果更好,我们建议使用宽高: 4096x128 像素的图片。⚠: 帧序列图片是头尾相连可以循环的图片。default null
unitStringsize 和 borderWidth 的单位,可以是 'px' 和 'meter',meter 是实际地理的米,px 是屏幕像素。 default 'px'
animateBoolean是否有动画,动画开启需要使用序列帧的纹理,否则没有动画效果。default false
durationNumber一轮动画的时长,单位毫秒(ms)。需要开启 animate 才能使用。default 0

style说明

所有loca的Layer组件对Style设置提供了默认处理,支持function回调方式的属性都提供了默认回调实现,优先读取geojson的properties中的值,读取不到的情况下会读取defaultStyleValue配置的值,最后会使用组件内默认设置的值。
该默认处理可以被layerStyle中的设置给覆盖。目前默认设置已基本符合日常使用,如果需要在选中目标时做高亮处理,则推荐根据示例使用事件监听然后动态修改layerStyle来实现。
style数据有可以有三个来源,优先级按顺序处理,第一个最高

1、layerStyle属性配置
{
  unit: 'meter',
  size: [2600, 2600],
  borderWidth: 0,
  texture: 'https://a.amap.com/Loca/static/loca-v2/demos/images/breath_red.png',
  duration: 500,
  animate: true,
}
2、geojson的properties属性
{
  "type": "FeatureCollection",
  "name": "Polygon",
  "crs": {
    "type": "name",
    "properties": {
      "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
    }
  },
  "features": [
    {
      "type": "Feature",
      "properties": {
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ 119.958676782427744, 32.121127961388339]
      }
    }
  ]
}
3、defaultStyleValue属性配置
{
  size: [20, 20],
  rotation: 0,
  color: 'rgba(200,200,200,1)',
  altitude: 0,
  borderWidth: 0,
  borderColor: 'rgba(250,250,250,1)',
  texture: null,
  unit: 'px',
  animate: false,
  duration: 0
}

ref 可用方法

提供无副作用的同步帮助方法

函数返回说明
$$getInstance()Loca.ScatterLayer获取实例

事件

事件参数说明
initLoca.ScatterLayer实例
clickFeature, event当点击到标号时返回对应的feature,否则返回undefined
mousemoveFeature, event当鼠标移动滑过标号时返回对应的feature,否则返回undefined
rightclickFeature, event鼠标右击时返回对应的feature,否则返回undefined
最后更新时间:
贡献者: gu, guyangyang