# Igs 矢量图层

mapgis-igs-vector-layer

# 属性

All common layers props

# layerId

# baseUrl

  • 类型: String
  • 默认值: null
  • 非侦听属性
  • 描述: 服务基地址。

# tileSize

  • 类型: Number
  • 默认值: 512
  • 描述: 加载瓦片的大小,如果数据瓦片本身是256大小的设置512大小会被强制拉伸至512大小。
512 256
512 256

天地图模糊

请传入tileSize为256即可,2种方式

<mapgis-igs-tile-layer :tileSize="256" />
<mapgis-igs-tile-layer :source="{'tileSize': 256}" />
<template>
  <div class="hello">
    <mapgis-web-map crs="EPSG:4326" :center="[107.19, 26.85]" :zoom="3">
      <mapgis-igs-tile-layer
        layerId="igs_layer_layerid"
        baseUrl="http://develop.smaryun.com:6163/igs/rest/mrms/tile/北京市"
        :tileSize="256"
      />
    </mapgis-web-map>
</template>

# domain

  • 类型: String
  • 默认值: null
  • 非侦听属性
  • 描述: igs 服务域名。(domain 和(protocol,ip,port)二选一)
  • 示例: http://localhost:6163

# protocol

  • 类型: String
  • 默认值: location.protocol.split(":")[0] || "http"
  • 非侦听属性
  • 描述: igs 服务网络协议。(domain 和(protocol,ip,port)二选一)

# ip

  • 类型: String
  • 默认值: localhost
  • 非侦听属性
  • 描述: igs 服务 ip。(domain 和(protocol,ip,port)二选一)

# port

  • 类型: String
  • 默认值: 6163
  • 非侦听属性
  • 描述: igs 服务 port。(domain 和(protocol,ip,port)二选一)

# gdbps

  • 类型: String
  • 必传
  • 非侦听属性
  • watched
  • 描述: 图层的 gdbps 地址,允许多个图层,以“,”隔开

# filters

  • 类型: String
  • 默认值: null
  • 非侦听属性
  • watched
  • 描述: 用户指定的图层过滤条件,它由多个键值对组成,值为过滤条件。
  • 示例: 1:ID>4,3:ID>1

# igsMapStyle

  • 类型: Object
  • 默认值: null
  • 非侦听属性
  • 描述: 用户指定的图层显示样式,每个 gdbp 对应一个 style,style 为 CDisplayStyleExtend 的 json 序列化形式,多个 style 之间用“,”隔开。
  • 示例: [{index:0,symbleshow:true,followscale:true},{index:1,symbleshow:true,FollowScale:true}]

# f

  • 类型: String
  • 默认值: png
  • 非侦听属性
  • 描述: 矢量图片的格式。

# guid

  • 类型: String
  • 默认值: new Date().getTime().toString()
  • 非侦听属性
  • 描述: 唯一 ID,用户标识地图图层。

# keepCache

  • 类型: Boolean
  • 默认值: true
  • 非侦听属性
  • 描述: 当 keepCache 设置为 true 时,优先从客户端缓存中取瓦片,否则不从客户端缓存中提取

# layer

  • 类型: Object

  • 默认值: null

  • 侦听属性

  • 描述: 栅格瓦片图层可通过 layer 参数中的 paint、filter、layout 来修改图层样式属性, 更多 raster 的属性参考官网

    paint: https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/#raster)

    layout: https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/#layout-property

    filter: https://docs.mapbox.com/help/glossary/filter/

    https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/#filter

  • 示例:

    layer:{
             paint:{
               raster-opacity:0.5
             }
           }
    layer:{
             filter:["all", ["==", "mpginf_id", "1"]]
          }
    layer:{
             layout:{
               visibility:'visible'
             }
          }
    

# 事件

All common layer events

# 示例

<template>
  <mapgis-web-map
    class="main"
    :accessToken="accessToken"
    :mapStyle="mapStyle"
    :zoom="mapZoom"
    :center="outerCenter"
    :crs="mapCrs"
  >
    <mapbox-igs-vector-layer
      :layer="layer"
      :layerId="layerId"
      :sourceId="sourceId"
      :ip="igsVectorIp"
      :port="igsVectorPort"
      :gdbps="igsVectorGdbps"
    >
    </mapbox-igs-vector-layer>
  </mapgis-web-map>
</template>

<script>
import "@mapgis/mapbox-gl/dist/mapbox-gl.css";
import Mapbox from "@mapgis/mapbox-gl";
import {
  MapgisWebMap,
  MapboxIgsVectorLayer
} from "@mapgis/webclient-vue-mapboxgl";

export default {
  components: {
    MapgisWebMap,
    MapboxIgsVectorLayer
  },
  data() {
    return {
      accessToken:
        "pk.eyJ1IjoicGFybmRlZWRsaXQiLCJhIjoiY2o1MjBtYTRuMDhpaTMzbXhpdjd3YzhjdCJ9.sCoubaHF9-nhGTA-sgz0sA", // 使用mapbox样式需要的秘钥
      mapStyle: "mapbox://styles/mapbox/light-v9", // 地图样式
      mapZoom: 3, // 地图初始化级数
      outerCenter: [130, 30], // 地图显示中心
      mapCrs: "EPSG:4326",

      layerId: "igsLayer_layerId",
      sourceId: "igsLayer_sourceId",
      layer: {}, // 图层配置信息
      igsVectorIp: "localhost", // igs服务ip
      igsVectorPort: "6163", // igs服务port
      igsVectorGdbps: "gdbp://MapGisLocal/专题图数据/sfcls/中国地级县x" // igs地图图层gdbp地址
    };
  },

  created() {
    // 在组件中使用mapbox-gl.js的脚本库功能
    this.mapbox = Mapbox;
  }
};
</script>

<style lang="css">
.main {
  height: 600px;
  width: 100%;
}
</style>