# GIS组件API ### 初始化例子 ```jsx {this.mapFunction = e}} mapRef={this} addressSearchUrl="http://192.168.0.251:8090/iserver/services/addressmatch-Address/restjsr/v1/address/geocoding" terrainUrl="http://192.168.0.251:8090/iserver/services/map-world/rest/maps/World" terrainUrlIsSct={true} showDefaultLayer={false} baseImageUrl="https://www.supermapol.com/realspace/services/map-scyx/rest/maps/China_DARK" /> ``` ### 构建参数 | 参数 | 说明 | 类型 | 默认值 | |--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------| | mapRef | 父组件引用 | React.Component | - | | showDefaultLayer | 显示默认图层(国内天地图) | boolean | true | | addressSearchUrl | 地址查询基础服务 | string | - | | terrainUrl | 地形服务地址 | string | - | | terrainUrlIsSct | 是否是超图地形 | boolean | true | | baseImageUrl | 默认影像图层(iserver对应的地址)
| string | - | | plotUrl | 标绘服务地址 | | | global | 最小矩形框范围。( minx ,miny, maxx, maxy) | number[] | - | | toolbars | 自定义工具栏,例子:['global', 'fullscreen', {key: 'seethrough2',icon: 'seethrough',titleI18n: 'seethrough2',handleClick: () => {alert('通视分析2') }}] | string | object[] | - | | language | 语言 | string | - | | i18nObj | obj对象,参考多语言例子 | object | - | | defaultSelectedEdit | 是否启用点击就进入编辑 | object | - | | defaultShowPropertyPanel | 进入编辑是否显示属性编辑面板 | object | - | | useSvgIcon | 是否使用svg图标,启用svg图标后,允许动态使用图标边框和颜色 | boolean | - | | object | - | ### 工具栏功能介绍 | 工具编码 | 工具名称 | |--------------------|--------------| | global | 全图 | | fullscreen | 全屏 | | measureDistance | 测距 | | measureArea | 测面 | | seethrough | 默认通视分析,面板有点丑 | | profile | 剖面分析,面板有点丑 | | angleSlope | 坡度分析 ,面板有点丑 | | switchMap | 二三维切换 | | location | 定位 | | print | 打印 | | addressSearch | 地名查询 | | dynamicPlot | 军式标绘 | | highLight | 高亮 | | clear | 清除 | ### 属性 | 属性名称 | 说明 | 类型 | | ------------- | ------------ | --------------------------------- | | viewer | 3D地图对象 | Cesium.Viewer | | mapApiService | 地图服务对象 | [MapApiService](#/doc/MapApiService) | ### 方法 | 方法 | 说明 | |-----------------------------|-------------| | showDefaultLayer | 显示默认图层 | | doSightLine | 调用点对点通视面板 | | doLocation | 显示定位面板 | | doPrint | 显示打印面板 | | doAddressSearch | 显示地址查询面板 | | doDynamicPlot | 显示军标面板 | | doHighLight | 显示高亮测试面板 | | doProfile | 打开剖面分析面板 | | doAngleSlope | 打开坡度分析面板 | | doSightLine | 打开通视分析面板 | | cleanScreen | 清屏 | | fullScreen | 全屏 | | exitFullScreen | 退出全屏 | | showToolBar | 显示默认工具栏 | | hideToolBar | 隐藏默认工具栏 | | showStateBar | 显示状态工具栏 | | hideStateBar | 隐藏状态工具栏 | | measureDistance | 开启测量距离 | | measureArea | 开启测量面积 | | updateDemLayer | 更新地形服务 | | showGeoJsonDataSource | 增加geojson服务 | | showSuperMapImageryProvider | 显示超图影像图层 | | addBpListener | 拨盘监听事件 | | closeBp | 关闭拨盘 | | updateLanguage | 更新语言 | ### 具体方法 ##### showDefaultLayer() 显示默认图层,参数无需填写 --- #### doSightLine() 调用点对点通视面板,第二次调用表示关闭面板 --- #### doLocation() 显示定位面板,第二次调用表示关闭面板 --- #### doPrint() 显示打印面板,第二次调用表示关闭面板 --- #### doAddressSearch() 显示地址查询面板,第二次调用表示关闭面板 --- #### doDynamicPlot() 显示军标面板,第二次调用表示关闭面板 --- #### doHighLight() 显示高亮闪烁面板,第二次调用表示关闭面板 --- #### doProfile() 调用剖面分析面板,第二次调用表示关闭面板 --- #### doAngleSlope() 调用坡度分析面板,第二次调用表示关闭面板 --- #### doSightLine() 调用通视分析面板,第二次调用表示关闭面板 --- #### cleanScreen() 清屏,参数无需填写 --- #### fullScreen() 全屏,参数无需填写 --- #### exitFullScreen() 退出全屏,参数无需填写 --- ##### hideToolBar() 隐藏默认工具栏,参数无需填写 --- #### showToolBar() 显示默认工具栏,参数无需填写 --- #### hideStateBar() 隐藏默认状态栏,参数无需填写 --- #### showStateBar() 显示默认状态栏,参数无需填写 --- #### updateDemLayer(demLayerUrl, sct) 更新地形服务 | 参数 | 必须 | 类型 | 说明 | |-------------|-------------|---------|-------------------------------| | demLayerUrl | true | string | 地形地址 | | sct | false | boolean | 是过滤器是iserver独立发布的地形图层,默认为true | --- #### showGeoJsonDataSource(layerConfig, zoomTo) 显示矢量数据 | 参数 | 必须 | 类型 | 说明 | |-----------------------------|-------------|---------|-----------------| | layerconfig | true | object | 图层配置 | | layerconfig.code | true | string | 图层编码 | | layerconfig.url | true | string | 隐藏状态工具栏 | | layerconfig.fill | false | string | 填充颜色,格式:#FF0000 | | layerconfig.stroke | false | string | 边框颜色,格式:#FF0000 | | layerconfig.strokeWidth | false | number | 默认为1,只有是线或者面时有效 | | layerconfig.markerSymbol | false | string | 只有是点数据时有效 | | zoomTo | false | boolean | 显示完成后,是否定位到数据范围 | --- #### showSuperMapImageryProvider(layerConfig, zoomTo) 显示瓦片数据 | 参数 | 必须 | 类型 | 说明 | |-----------------------------|-------------|---------|-----------------| | layerconfig | true | object | 图层配置 | | layerconfig.code | true | string | 图层编码 | | layerconfig.url | true | string | 隐藏状态工具栏 | | zoomTo | false | boolean | 显示完成后,是否定位到数据范围 | --- #### measureDistance() 在地图上开始测距 --- #### measureArea() 在地图上开始测面 --- #### addBpListener(function(id, dom){},this) 拨盘监听事件 | 参数 | 必须 | 类型 | 说明 | |-------------------------|-------------|---------|-----------------| | function | true | 方法体 | 回调函数 | | this | true | 当前类 | 图层编码 | 回调函数function(id, dom){}说明: id:选择军标的id值 dom:拨盘返回的dom节点 --- #### closeBp() 关闭拨盘事件 --- #### updateLanguage(language) 更新语言,只支持'en-US'、'zh-CN'、’fr-FR‘三种语言 ---