React Native for Arcgis 地图开发 TileLayer 切片(八)

针对TileLayer的封装

importReact,{useState,useEffect}from'react';import{View,Text,ScrollView,StyleSheet,Clipboard}from'react-native';import{Button,List,Switch}from'@ant-design/react-native';import{TiledLayerCtrl,LayerManager,MapManager,MapView}from'@haibalai/react-native-arcgis';import{connect}from'react-redux';importWidthDrawerfrom'../../../../components/WithDrawer/index';constMapId='baseMap';constEditLayerId3857='BP_BADXT_SZ_20191202_GRID_3857';constEditLayerId4490='BP_BADXT_SZ_20191202_GRID_4490';/** sideBar组件*@param {*} renderCb renderCb是一个函数, 每次触发并且向里面传值(对象),content组件就以sideBarData的属性去接受*/constSideBar=({renderCb,Home}:any)=>{const[baseMapTDTStatus,setBaseMapTDTStatus]=useState(false);const[content,changeContent]=useState('');const[errorContent,changeErrorContent]=useState('');const[singleTiledLayerStatus,setSingleTiledLayerStatus]=useState(false);useEffect(()=>{renderCb({content,errorContent});},[content,errorContent,renderCb]);constgetLayerId=()=>{letcoordinate=Home.coordinate;if(coordinate==='4490'){returnEditLayerId4490;}else{returnEditLayerId3857;}};constonSwitchBaseMapTDTStatus=(e:any)=>{if(!e){MapManager.switchBaseMap(MapId,'矢量1202').then((r:any)=>{changeErrorContent('');changeContent(''+r);Clipboard.setString(''+r);}).catch((e:any)=>{changeErrorContent(''+e);Clipboard.setString(''+e);});}else{MapManager.switchBaseMap(MapId,'天地图').then((r:any)=>{changeErrorContent('');changeContent(''+r);Clipboard.setString(''+r);}).catch((e:any)=>{changeErrorContent(''+e);Clipboard.setString(''+e);});}setBaseMapTDTStatus(e);};constonSwitchSingleTiledLayer=(e:boolean)=>{if(e){LayerManager.showLayer(MapId,getLayerId());}else{LayerManager.hideLayer(MapId,getLayerId());}setSingleTiledLayerStatus(e);};constonGetMapServiceInfo=()=>{TiledLayerCtrl.getMapServiceInfo(MapId,getLayerId()).then((r:any)=>{changeErrorContent('');changeContent(r);}).catch((e:any)=>{changeErrorContent(e);});};constonGetRefreshInterval=()=>{TiledLayerCtrl.getRefreshInterval(MapId,getLayerId()).then((r:any)=>{changeErrorContent('');changeContent(r);}).catch((e:any)=>{changeErrorContent(e);});};constonGetRequestConfiguration=()=>{TiledLayerCtrl.getRequestConfiguration(MapId,getLayerId()).then((r:any)=>{changeErrorContent('');changeContent(r);}).catch((e:any)=>{changeErrorContent(e);});};constonGetUri=()=>{TiledLayerCtrl.getUri(MapId,getLayerId()).then((r:any)=>{changeErrorContent('');changeContent(r);}).catch((e:any)=>{changeErrorContent(e);});};constonSetRefreshInterval=()=>{

React Native for Arcgis 地图开发 TileLayer 切片(八) - 小专栏

你可能感兴趣的:(React Native for Arcgis 地图开发 TileLayer 切片(八))