UNPKG

rn_supermap

Version:

rn_supermap 一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。

107 lines (97 loc) 3.12 kB
/********************************************************************************* Copyright © SuperMap. All rights reserved. Author: Wang zihao E-mail: pridehao@gmail.com **********************************************************************************/ import {NativeModules} from 'react-native'; let LSV = NativeModules.JSLayerSettingVector; import GeoStyle from './GeoStyle.js'; import LayerSetting from './LayerSetting.js'; /** * @class LayerSettingVector * @description 矢量图层设置类。 */ export default class LayerSettingVector extends LayerSetting{ constructor(){ super(); Object.defineProperty(this,"_SMLayerSettingVectorId",{ get:function(){ return this._SMLayerSettingId }, set:function(_SMLayerSettingVectorId){ this._SMLayerSettingId = _SMLayerSettingVectorId; } }) } /** * 创建一个LayerSettingVector实例 * @memberOf LayerSettingVector * @returns {Promise.<LayerSettingVector>} */ async createObj(){ try{ var {_layerSettingVectorId_} = await LSV.createObj(); var layerSettingVector = new LayerSettingVector(); layerSettingVector._SMLayerSettingVectorId = _layerSettingVectorId_ return layerSettingVector; }catch (e){ console.error(e); } } /** * 获取矢量图层的风格。 * @memberOf LayerSettingVector * @returns {Promise.<GeoStyle>} */ async getStyle(){ try{ var {geoStyleId} = await LSV.getStyle(this._SMLayerSettingVectorId); var geoStyle = new GeoStyle(); geoStyle._SMGeoStyleId = geoStyleId; return geoStyle; }catch (e){ console.error(e); } } /** * 设置矢量图层的风格。 * @memberOf LayerSettingVector * @param {object} geoStyle - 矢量图层的风格。 * @returns {Promise.<void>} */ async setStyle(geoStyle){ try{ await LSV.setStyle(this._SMLayerSettingVectorId,geoStyle._SMGeoStyleId); }catch (e){ console.error(e); } } /** * 获取矢量图层的风格。 * @memberOf LayerSettingVector * @returns {Promise.<type>} */ async getType(){ try{ var {type} = await LSV.getType(this._SMLayerSettingVectorId); var typeStr = 'type'; switch (type){ case 0 : typeStr = 'VECTOR'; break; case 1 : typeStr = 'RASTER'; break; case 2 : typeStr = 'GRID'; break; default : throw new Error("Unknown LayerSetting Type"); } return typeStr; }catch (e){ console.error(e); } } } LayerSettingVector.TYPE = { VECTOR:0, RASTER:1, GRID:2 }