Class: GeoJSONLayer

GeoJSONLayer

GeoJSONLayer图层类,提供操作GeoJSONLayert图层符号化加载和操作相关的方法
一般通过api.geoJSONLayer调用其方法


new GeoJSONLayer()

protected

See:

Extends

Methods


delete(ids, fn)

删除一个或多个GeoJSONLayer图层对象

Parameters:
Name Type Description
ids string | array

要删除的GeoJSONLayer对象的ID或者ID数组(可以删除一个或者多个)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


hide(ids, fn)

隐藏一个或多个GeoJSONLayer图层对象

Parameters:
Name Type Description
ids string | array

GeoJSONLayer对象的ID或者ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


load(option)

从GeoJSON文件或者url下载链接加载GeoJSON并进行符号化展示

Parameters:
Name Type Description
option object

加载GeoJSON的配置项对象,包含以下属性

  • id (string) 必选,字符串类型唯一id

  • url (string) 必选,GeoJSON文件本地磁盘路径或者对应的url地址

  • visible (boolean) 可选,设置图层加载后是否显示,默认:true

  • renderer (object) 必选,渲染器配置对象参数如下:

    type (RendererType) 渲染器类型,包含三种:简单渲染器、唯一值渲染器、分类渲染器

    defaultSymbol (object) 默认符号化配置参数如下:

    type (number) 符号化类型,0 simple-marker圆形点填充 1 simple-line线填充 2 simple-fill面填充 3 polygon3d填充

    size (number) 点的默认尺寸,仅针对simple-marker圆形填充生效

    color (array) 默认填充颜色

    height (number) 默认高度

    outline (object) 默认轮廓线,包含线宽和颜色,对象结构示例:{width: 1,color: [1, 1, 1, 1]}

    visualVariables (array) 插值数组,支持控制颜色、尺寸和透明度的插值显示,参数如下:

    type (number) 控制显示的类型: 0颜色color 1尺寸size 2不透明度opacity

    field (number) GeoJSON文件内的属性字段名称

    stops (array) 插值数组(支持控制color | size | opacity),结构示例:[{value: 10, size: 10},{value: 20, size: 20}]根据field字段不同的值展示以下不同的样式

    uniqueValueInfos (array) 唯一值渲染器配置数组,对象结构如下:

    value (any) field字段对应值

    symbol (object) 各唯一值对应的符号化配置对象,结构同defaultSymbol

    classBreakInfos (array) 分类渲染器配置数组,对象结构如下:

    minValue (number) 区间最小值

    maxValue (number) 区间最大值

    symbol (object) 不同分类的符号化配置对象,结构同defaultSymbol

Example
请求参数示例
  
  //简单渲染器
  let simpleRenderer = {
            //渲染器类型
            type: RendererType.SimpleRenderer,
            //默认符号化配置
            defaultSymbol: {
                //符号化类型枚举:0 simple-marker圆形点填充  1 simple-line线填充  2 simple-fill面填充 3 polygon3d填充
                type: 3,
                //默认高度
                height: 10,
                //默认填充颜色
                color: [0, 0, 1, 1],
                //默认轮廓线
                outline: {
                    //线宽
                    width: 1,
                    //颜色
                    color: [1, 1, 1, 1],
                }
            },
            //符号化插值数组,支持控制颜色、尺寸和透明度的插值显示 
            visualVariables: [{
                //控制显示的类型: 0颜色color  1尺寸size  2不透明度opacity
                type: 1,
                //属性字段名称
                field: "hight",
                //插值数组:根据字段不同的值展示以下三种不同的样式 
                stops: [
                    { value: 10, size: 10, },
                    { value: 20, size: 20 },
                    { value: 30, size: 30 },
                    { value: 40, size: 40 },
                    { value: 50, size: 50 },
                    { value: 60, size: 60 },
                    { value: 70, size: 70 },
                    { value: 80, size: 80 },
                    { value: 90, size: 90 },
                    { value: 100, size: 100 }
                ]
            }]
        };

    //唯一值渲染器
    let uniqueValueRenderer = {
        //渲染器类型
        type: RendererType.UniqueValueRenderer,
        //渲染字段名称
        field: "name",
        //默认符号化配置
        defaultSymbol: {
            //符号化类型枚举:0 simple-marker圆形点填充  1 simple-line线填充  2 simple-fill面填充 3 polygon3d填充
            type: 2,
            //填充色
            color: [0, 1, 1, 1],
            //轮廓线
            outline: {
                //线宽
                width: 1,
                //颜色
                color: [1, 1, 1, 1]
            },
        },
        //根据颜色字段的唯一值进行符号化填充
        uniqueValueInfos: [{
            // 深圳湾体育馆填充为蓝色
            value: "深圳湾体育馆",
            symbol: {
                type: 2,
                //填充色
                color: [0, 0, 1, 1],
                //轮廓线
                outline: {
                    //线宽
                    width: 1,
                    //颜色
                    color: [1, 1, 1, 1]
                },
            }
        }, {
            // 北京师大南山附属学校小学部填充为红色
            value: "北京师大南山附属学校小学部",
            symbol: {
                type: 2,
                color: [1, 0, 0, 1],
                //轮廓线
                outline: {
                    //线宽
                    width: 1,
                    //颜色
                    color: [1, 1, 1, 1]
                },
            }
        }, {
            // 腾讯滨海大厦填充为绿色
            value: "腾讯滨海大厦",
            symbol: {
                type: 2,
                color: [0, 1, 0, 1]
            }
        }, {
            // 科技第三幼儿园填充为黄色
            value: "科技第三幼儿园",
            symbol: {
                type: 2,
                color: [1, 1, 0, 1]
            }
        }]
    };


    //分类渲染器    
    let classBreaksRenderer = {
        type: RendererType.ClassBreaksRenderer,
        field: "hight",
        //默认符号化配置
        defaultSymbol: {
            type: 2,
            color: [1, 0, 1, 1],
            outline: {
                width: 1,
                color: [1, 0, 1, 1]
            }
        },
        //根据hight字段的不同区间值使用不同的符号化配置
        classBreakInfos: [
            {
                minValue: 0,
                maxValue: 25,
                symbol: less25 //结构同defaultSymbol
            },
            {
                minValue: 26,
                maxValue: 50,
                symbol: less50
            },
            {
                minValue: 51,
                maxValue: 75,
                symbol: less75
            },
            {
                minValue: 76,
                maxValue: 100,
                symbol: less100
            }
        ]
    };

show(ids, fn)

显示一个或多个GeoJSONLayer图层对象

Parameters:
Name Type Description
ids string | array

GeoJSONLayer对象的ID或者ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


updateBegin()

用于批量多次修改对象的属性

在开始修改之前调用updateBegin,然后可以多次调用setXXX方法,最后调用updateEnd提交修改更新数据
注意:
updateBegin不是异步调用,不需要await,也没有回调函数参数

Inherited From:
Overrides:
Example
__g.xxx.updateBegin();
for (let i = 0; i < 1000; i++) {
     __g.xxx.setColor(i, Color.Yellow);
} 
__g.xxx.updateEnd(function () {
     log('update finished!');
});

updateEnd(fn)

用于批量多次修改对象的属性,与updateBegin配套使用
注意:
updateEnd是异步调用,可以用回调函数也可以await

Parameters:
Name Type Description
fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Inherited From:
Overrides: