UNPKG

rn_supermap

Version:

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

94 lines (87 loc) 2.5 kB
/********************************************************************************* Copyright © SuperMap. All rights reserved. Author: Will E-mail: pridehao@gmail.com **********************************************************************************/ import {NativeModules} from 'react-native'; let F = NativeModules.JSFeature; import Geometry from './Geometry.js'; /** * @class Feature * @description 几何对象类,包含几何对象与属性信息。 */ export default class Feature { /** * Feature对象构造函数。 * @memberOf Feature * @param {array} fieldNames - 指定的属性名数组。 * @param {array} fieldValues - 指定的属性值数组。 * @param {object} geometry - 指定的几何对象。 * @returns {Promise.<Feature>} */ async createObj(fieldNames,fieldValues,geometry){ try{ var {_featureId_} = await F.createObj(fieldNames,fieldValues,geometry._SMGeometryId); var feature = new Feature(); feature._SMFeatureId = _featureId_; return feature; }catch (e){ console.error(e); } } /** * 获取属性名数组。 * @memberOf Feature * @returns {Promise.<Array>} */ async getFieldNames(){ try{ var arr = F.getFieldNames(this._SMFeatureId); return arr; }catch (e){ console.error(e); } } /** * 获取属性值数组。 * @memberOf Feature * @returns {Promise.<array>} */ async getFieldValues(){ try{ var arr = F.getFieldValues(this._SMFeatureId); return arr; }catch (e){ console.error(e); } } /** * 获取几何对象。 * @memberOf Feature * @returns {Promise.<Geometry>} */ async getGeometry(){ try{ var {geometryId} = await F.getGeometry(this._SMFeatureId); var geometry = new Geometry(); geometry._SMGeometryId = geometryId; return geometry; }catch (e){ console.error(e); } } /** * 将类对象转换成Json串。 * @memberOf Feature * @returns {Promise.<object>} */ async toJson(){ try{ var jsonString = await F.toJson(this._SMFeatureId); var jsonObj = JSON.parse(jsonString); return jsonObj; }catch (e){ console.error(e); } } }