RasterLayerCtrl的封装调用
importReact, {useState, useEffect}from'react';import{View,Text,ScrollView,StyleSheet}from'react-native';import{Button,List,Switch}from'@ant-design/react-native';import{RasterLayerCtrl,LayerManager,MapManager,MapView}from'@haibalai/react-native-arcgis';import{connect}from'react-redux';importWidthDrawerfrom'../../../../components/WithDrawer/index';constMapId='baseMap';constEditFeatureLayerId3857='DEM_3857';constEditFeatureLayerId4490='DEM_2000';/** sideBar组件*@param{*} renderCb renderCb是一个函数, 每次触发并且向里面传值(对象),content组件就以sideBarData的属性去接受*/constSideBar= ({renderCb, Home}: any) => {const[content, changeContent] =useState('');const[errorContent, changeErrorContent] =useState('');const[singleRasterLayerStatus, setSingleRasterLayerStatus] =useState(false);useEffect(() =>{renderCb({content, errorContent});}, [content, errorContent, renderCb]);constgetRender= () => {letcoordinate =Home.coordinate;if(coordinate ==='4490') {return'';}else{return'';}};constgetLayerId= () => {letcoordinate =Home.coordinate;if(coordinate ==='4490') {returnEditFeatureLayerId4490;}else{returnEditFeatureLayerId3857;}};constonSwitchRasterLayer= (e: boolean) => {if(e) {LayerManager.showLayer(MapId,getLayerId());}else{LayerManager.hideLayer(MapId,getLayerId());}setSingleRasterLayerStatus(e);};constonGetRasterRenderer= () => {RasterLayerCtrl.getRasterRenderer(MapId,getLayerId()).then((r: any) =>{changeErrorContent('');changeContent(r);}).catch((e: any) =>{changeErrorContent(e);});};constonSetRasterRenderer= () => {RasterLayerCtrl.setRasterRenderer(MapId,getLayerId(),getRender()).then((r: any) =>{changeErrorContent('');changeContent(r);}).catch((e: any) =>{changeErrorContent(e);});};return(}>单个RasterLayer