@vuemap/vue-amap@vuemap/vue-amap
  • 1.x
  • vue2版本
更新日志
  • github
  • gitee
  • JSAPI文档
  • JSAPI示例地址
  • Loca API文档
  • Loca 示例地址
  • 掘金
  • CSDN
  • 1.x
  • vue2版本
更新日志
  • github
  • gitee
  • JSAPI文档
  • JSAPI示例地址
  • Loca API文档
  • Loca 示例地址
  • 掘金
  • CSDN
@vuemap/vue-amap
@vuemap/vue-amap-loca
@vuemap/vue-amap-extra
  • 基础

    • 简介
    • 安装
    • 脚本初始化
    • 兼容高德原生 SDK
    • Nuxt服务端渲染
    • 捐赠支持
    • 常见问题
    • 从1.x迁移
    • 离线JSAPI
    • 内置API
    • Typescript支持
  • 自定义

    • 自定义地图组件
    • 包装地图组件
  • 地图

    • 地图
    • 获取高德地图实例
    • 地图插件
  • hooks

    • IP定位获取当前城市信息
    • 天气查询服务
    • 定位
  • 控件

    • 比例尺
    • 地图操作工具
    • 地图控制
    • 地图类型切换
    • 鹰眼控件
    • POI搜索
    • 定位
  • 高德官方图层

    • 默认图层
    • 切片图层
    • 实时交通图层
    • 卫星图层
    • 路网图层
    • 建筑楼块3D图层
    • 简易行政区划图
    • 室内图层
  • 行业标准图层

    • WMS图层
    • WMTS图层
    • 矢量瓦片块图层
  • 自有数据图层

    • 矢量标记图层
    • 热力图
    • 标注层
    • 自定义图层
    • 灵活切片图层
    • 图片图层
    • Canvas图层
    • Video图层
    • 3d自定义图层
    • 3DTiles图层
    • 区划聚合图层
    • 自定义瓦片纠偏图层
  • 点标记

    • 点标记
    • 海量标注
    • 文本
    • 灵活点标记
    • 点聚合
    • 海量点
  • 窗体

    • 信息窗体
  • 矢量图形

    • 多边形
    • 折线
    • 贝塞尔曲线
    • 圆形
    • 椭圆
    • 矩形
    • GeoJSON
  • 工具

    • 鼠标工具插件
  • @vuemap/vue-amap-loca组件

    • Loca
    • 环境光
    • 平行光
    • 点光
    • 圆点图层
    • 图标图层
    • 棱柱图层
    • 线图层
    • 面图层
    • 链接线图层
    • 热力图
    • 蜂窝网格图
    • 网格图
    • 贴地点图层
    • 轨迹线图层
    • 连接飞线图层
    • 垂直于大地表面的Marker图层
    • 激光图层
  • @vuemap/vue-amap-extra组件

    • ThreeJS的图层
    • Gltf模型加载
    • 灯光

      • 环境光
      • 平行光
      • 半球光
      • 点光源
      • 聚光灯
    • ThreeJS播放视频
    • ThreeJS面图层
    • 开源3dtiles方案

垂直于大地表面的 Marker 图层 (Loca.ZMarkerLayer)

垂直于大地表面的 Marker 图层,支持传入自定义 DOM 进行绘制。你可以使用它展示一些 和数据相关的文字、图片信息,而且它还支持永远朝向屏幕的特性,非常适合对文字类信息的展示。

提示

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

注意事项

该组件需要在 view-mode="3D" 下才能看出效果

基础示例

静态属性

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

名称类型说明
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参数覆盖所有默认值

名称类型说明
unitString点的单位,会影响半径和边宽度。可选值:px:像素,meter:地理单位米 default 'px'
contentString, FunctionMarker 的内容,是一个 HTML 的片段字符串,可以通过 dom 的 style 设置 dom 样式, 并且支持 img 等各种类型的 dom,可通过回调函数对每个点进行设置。目前此类型尚不支持 IE 浏览器
sizeArray, FunctionMarker 大小,影响宽高。 default [20,20]
rotationNumber, Function图标的旋转角度,可以通过回调为每个点设置不同的旋转角(单位:角度) default 0
alwaysFrontBoolean是否让每个 Marker 总是朝向视角方向。default false

defaultStyleValue参数

提示

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

名称类型说明
unitString点的单位,会影响半径和边宽度。可选值:px:像素,meter:地理单位米 default 'px'
contentStringMarker 的内容,是一个 HTML 的片段字符串,可以通过 dom 的 style 设置 dom 样式, 并且支持 img 等各种类型的 dom,可通过回调函数对每个点进行设置。目前此类型尚不支持 IE 浏览器
sizeArrayMarker 大小,影响宽高。 default [20,20]
rotationNumber图标的旋转角度,可以通过回调为每个点设置不同的旋转角(单位:角度) default 0
alwaysFrontBoolean是否让每个 Marker 总是朝向视角方向。default false

style说明

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

1、layerStyle属性配置
{
  unit: 'meter',
  content: (index, feat) => {
     var props = feat.properties;
     var leftColor = props.price < 60000 ? 'rgba(0, 28, 52, 0.6)' : 'rgba(33,33,33,0.6)';
     var rightColor = props.price < 60000 ? '#038684' : 'rgba(172, 137, 51, 0.3)';
     var borderColor = props.price < 60000 ? '#038684' : 'rgba(172, 137, 51, 1)';
     return (
       '<div style="width: 490px; height: 228px; padding: 0 0;">' +
       '<p style="display: block; height:80px; line-height:80px;font-size:40px;background-image: linear-gradient(to right, '
       + leftColor + ',' + leftColor + ',' + rightColor + ',rgba(0,0,0,0.4)); border:4px solid '
       + borderColor + '; color:#fff; border-radius: 15px; text-align:center; margin:0; padding:5px;">'
       + props['name'] +
        ': ' +
         (props['price'] / 10000) +
         '</p><span style="width: 130px; height: 130px; margin: 0 auto; display: block; background: url(https://a.amap.com/Loca/static/loca-v2/demos/images/prism_'
         + (props['price'] < 60000 ? 'blue' : 'yellow') + '.png);"></span></div>'
        );
     },
     alwaysFront: true,
     size: [490/2, 222/2],
     rotation: 0
}
2、geojson的properties属性
{
  "type": "FeatureCollection",
  "name": "Polygon",
  "crs": {
    "type": "name",
    "properties": {
      "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
    }
  },
  "features": [
    {
      "type": "Feature",
      "properties": {
        "icon": '/img/1.png',
        "rotation": 90
      },
      "geometry": {
        "type": "Point",
        "coordinates": [ 119.958676782427744, 32.121127961388339]
      }
    }
  ]
}
3、defaultStyleValue属性配置
{
  unit: 'meter',
  content: '',
  alwaysFront: true,
  size: [490/2, 222/2],
  rotation: 0
}

ref 可用方法

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

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

事件

事件参数说明
initLoca.ZMarkerLayer实例
clickFeature, event当点击到标号时返回对应的feature,否则返回undefined
mousemoveFeature, event当鼠标移动滑过标号时返回对应的feature,否则返回undefined
rightclickFeature, event鼠标右击时返回对应的feature,否则返回undefined
最后更新时间:
贡献者: gu, guyangyang, gyy
Prev
连接飞线图层
Next
激光图层