首页 > 其他分享 >React Native for Arcgis 地图开发 影像RasterLayer(十)

React Native for Arcgis 地图开发 影像RasterLayer(十)

时间:2022-11-05 14:04:17浏览次数:41  
标签:const changeErrorContent RasterLayer return React Arcgis coordinate import getLa

RasterLayerCtrl的封装调用
import React, {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’;
import WidthDrawer from ‘…/…/…/…/components/WithDrawer/index’;
const MapId = ‘baseMap’;
const EditFeatureLayerId3857 = ‘DEM_3857’;
const EditFeatureLayerId4490 = ‘DEM_2000’;
/** sideBar组件
*@param {*} renderCb renderCb是一个函数, 每次触发并且向里面传值(对象),content组件就以sideBarData的属性去接受
*/
const SideBar = ({renderCb, Home}: any) => {
const [content, changeContent] = useState(‘’);
const [errorContent, changeErrorContent] = useState(‘’);
const [singleRasterLayerStatus, setSingleRasterLayerStatus] = useState(false);
useEffect(() => {
renderCb({content, errorContent});
}, [content, errorContent, renderCb]);
const getRender = () => {
let coordinate = Home.coordinate;
if (coordinate === ‘4490’) {
return ‘’;
} else {
return ‘’;
}
};
const getLayerId = () => {
let coordinate = Home.coordinate;
if (coordinate === ‘4490’) {
return EditFeatureLayerId4490;
} else {
return EditFeatureLayerId3857;
}
};
const onSwitchRasterLayer = (e: boolean) => {
if (e) {
LayerManager.showLayer(MapId, getLayerId());
} else {
LayerManager.hideLayer(MapId, getLayerId());
}
setSingleRasterLayerStatus(e);
};
const onGetRasterRenderer = () => {
RasterLayerCtrl.getRasterRenderer(MapId, getLayerId())
.then((r: any) => {
changeErrorContent(‘’);
changeContent®;
})
.catch((e: any) => {
changeErrorContent(e);
});
};
const onSetRasterRenderer = () => {
RasterLayerCtrl.setRasterRenderer(MapId, getLayerId(), getRender())
.then((r: any) => {
changeErrorContent(‘’);
changeContent®;
})
.catch((e: any) => {
changeErrorContent(e);
});
};
return (}>
单个RasterLayerReact Native for Arcgis 地图开发 影像RasterLayer(十) - 小专栏

标签:const,changeErrorContent,RasterLayer,return,React,Arcgis,coordinate,import,getLa
From: https://blog.51cto.com/u_15142957/5825944

相关文章

  • React Native for Arcgis 地图开发 GraphicCtrl (十三)
    GraphicCtrl的使用importReact,{useState,useEffect}from‘react’;import{View,Text,ScrollView,StyleSheet}from‘react-native’;import{Button,List,S......
  • React Native for Arcgis 地图开发 LocationDisplayCtrl (十四)
    定位展示LocationDisplayCtrl封装importReact,{useState,useEffect}from‘react’;import{View,Text,ScrollView,StyleSheet,DeviceEventEmitter}from‘react......
  • web3-react基本用法
    背景:web3真会玩,除了web3js,etherjs外,又搞出来一个web3-react,看不懂原来是知识盲区。 唤起metamask只需要一个activate方法const{activate}=useWeb3React();cons......
  • react组件传值
    1.父传子1.1父组件准备数据,父组件通过属性age直接传递给子组件父importReact,{useState}from'react'importChildsfrom'./Childs'exportdefaultfunctio......
  • 前端框架学习react还是vue?
    究竟如何正确使用?作为小白的我们从何学起比较好?带着一系列问题来看看吧。这篇主要介绍:1、从出身背景、优势、缺点、适合场景、开发模式、实践情况进行对比2、相似之处......
  • React Markdown Documentation Generator All In One
    ReactMarkdownDocumentationGeneratorAllInOneSSGhttps://github.com/topics/static-site-generatornext.jshttps://github.com/vercel/next.jsgatsbyhttps:......
  • react生命周期(详细版)
    首先生命周期分为三个阶段:挂载:已经插入真实dom渲染(更新):正在被重新渲染卸载:已经移出真实dom一、挂载:在组件实例被创建并插入到dom中时,生命周期调用顺序......
  • ArcGIS JS API 添加要素图层 点击时获取图层属性
    //需要引入:"esri/layers/FeatureLayer"模块//要素图层被点击时弹出图层属性的模板定义{为字段}varTuCeng03TC={"title":"ID:{objectid}",......
  • 细说React组件性能优化
    React组件性能优化最佳实践React组件性能优化的核心是减少渲染真实DOM节点的频率,减少VirtualDOM比对的频率。如果子组件未发生数据改变不渲染子组件。组件卸载前......
  • React-Hook最佳实践
    ReactHook新出现背景类组件的问题复用组件状态难,高阶组件+渲染属性providerscustomers,等一堆工具都是为了解决这个问题,但是造成了很严重的理解成本和组件嵌套地狱......