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 切片(八) - 小专栏

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容