> mapgis-3d-city-grow

注意：由于三维底层支持原因，目前仅支持二维矢量文档形式的数据。 数据中必须包含的字段有开始时间字段（时间戳格式）、结束时间字段（时间戳形式）以及表示高程的字段。

## # 属性

### # `vueKey`

- 类型: `String`
- 可选
- 非侦听属性
- 默认值: `default`
- 描述: mapgis-web-scene 组件的 ID，当使用多个 mapgis-web-scene 组件时，需要指定该值，来唯一标识 mapgis-web-scene 组件，同时 mapgis-web-scene 插槽中的组件也需要传入相同的 vueKey，让组件知道应该作用于哪一个 mapgis-web-scene。

### # `vueIndex`

- 类型: `Number`
- 可选
- 非侦听属性
- 默认值: `(Math.random() * 100000000).toFixed(0)`随机计算值
- 描述: 当 mapgis-web-scene 插槽中使用了多个相同组件时，例如多个 mapgis-3d-igs-doc-layer 组件，用来区分组件的标识符。

### # `baseUrl`

- 类型: `String`
- 非侦听属性
- 描述: 二维矢量文档形式的url
- 默认值: 服务基地址：发布的二维文档地址， eg：二维地图文档地址：http://[host]:[port]/igs/rest/mrfs/docs/{docName}/mapIndex/LayerIndex。

### # autoReset

- 类型: `Boolean`
- 可选
- 非侦听属性
- 描述: 视角是否自动切换到地图文档范围。

### # filter

- 类型: `Object`
- 可选
- 侦听属性
- 描述: 过滤条件对象，空对象则默认无过滤。该对象中可传属性：

Name | Type | Default | Description
--- | --- | --- | ---
Where | String |  | 要素过滤条件
geometry | Object |  | 几何类型对应的图层信息，也就是构成几何类型的坐标信息。
geometryType | String |  | 几何类型，代表空间查询时传入的几何类型

- 示例:

          filter: {
                 where: 'OBJECTID>500'
           }

### # featureStyle

- 类型: `Object`
- 可选
- 侦听属性
- 描述: 矢量地图文档对应图层做城市生长的style 样式对象, featureStyle对象中包括以下属性：

Name | Type | Default | Description
--- | --- | --- | ---
startTimeField | String | 'startTime' | 矢量文档数据中的建筑生长开始时间字段名。
endTimeField | String | 'endTime' | 矢量文档数据中的建筑生长结束时间字段名。
heightField | String | 'height' | 矢量文档数据中的建筑用作高程的属性字段名称，不设置则高程为零
heightRatio | Number | 1 | 建筑生长高程的缩放比例
startTime | Number |  | 城市建筑生长的起始时间（）
endTime | Number |  | 城市建筑生长的结束时间（）
colors | Array | ["#fff0f6","#ff85c0","#eb2f96"] | 城市生长的时间段对应颜色设置
times | Array | [] | 城市生长的时间段设置，默认值为空，不传该参数则按colors数组长度等分设置时间段
displayWithTile | Boolean | false | Line或Tile 根据时间线性加载(false)或网格动态加载(true)，适用不同的数据量展示，默认为线性加载。1. Line：线性加载，是指依照时间段进行加载，每个时间段的加载量由buildingLimit来限制；2.Tile：网格动态加载，是指内部逻辑实现根据当前视角距离计算满足显示精度的瓦片，并请求加载数据渲染城市建筑。
growTime | Number | 60 | 城市生长的总播放时长，单位秒。
buildingsLimit | Number | 400 | 线性加载时每一时段的矢量要素数量限制
updateInterval | Number | 1 | 城市生长过程中建筑物颜色和高度更新间隔，默认1s更新一次

### # `tileFeaturesCount`

- 类型: `Number`
- 非侦听属性
- 描述: 网格加载时请求的矢量要素数量
- 默认值: 400

## # 方法

### # `startGrow`

- Description: 开启城市生长

### # `stopGrow`

- Description: 暂停城市生长

## # 事件

### # `loaded`

- Description: 在 城市生长 加载完毕后发送该事件
- Payload 城市生长组件对象

### # `CityGrow`

- Description: 在 开始城市生长 加载完毕后发送该事件
- Payload 城市生长图层 对象

## # 示例

    <template>
      <mapgis-web-scene style="height:95vh"
                        v-on:load="handleLoad">
        <mapgis-rastertile-layer v-if="false" layerId="tdt" url="http://t0.tianditu.com/DataServer?T=vec_c&L={z}&Y={y}&X={x}&tk=9c157e9585486c02edf817d2ecbc7752" />
        <mapgis-3d-city-grow ref="citygrow"  v-bind="$props" />
      </mapgis-web-scene>
    </template>

    <script>
    export default {
      data() {
        return {
          width:720,
          baseUrl:"http://192.168.21.192:6163/igs/rest/mrfs/docs/shengZhenBaiMo/0/0",
          featureStyle:{
            startTimeField:"startTime",
            endTimeField:"endTime",
            heightField:"height",
            startTime: 1068543416,
            endTime: 1636639287,
            heightRadio:3.0,
            isGrowHeight:false,
            colors:["rgba(245,33,0,1)", "rgba(255,121,26,1)", "rgba(255,164,46,1)", "rgba(255,209,82,1)"],
            times:[2005,2010,2015]
          }
        }
      },
      methods: {
      },
    };
    </script>