imobile_for_reactnative
Version:
iMobile for ReactNative,是SuperMap iMobile推出的一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。
110 lines (86 loc) • 2.61 kB
text/typescript
import {
NativeModules,
} from "react-native"
import { DatasetInfo } from "../data/SData"
const SARCollector = NativeModules.SARCollector
type TARCollectMode = 'DRAW_LINE' | //画线
'DRAW_AREA' | //画面
'DRAW_POINT' | //画点
'DRAW_CIRCLE' | //画圆
'DRAW_RECTANGLE' | //画矩形
'NULL' | //用于切换轨迹采集时不显示红点及提示等
'TRACK_AUTO' | //轨迹自动打点采集
'TRACK_MANUAL' //轨迹手动打点采集
/**
* 设置采集模式
* @param mode 采集模式
*/
export function setCollectMode(mode: TARCollectMode): Promise<boolean> {
return SARCollector.setCollectMode(mode)
}
/**
* 设置绘制图形或轨迹采集对象要保存的数据集
* @param dataset 对应当前采集对象类型的数据集
*/
export function setDataset(dataset: DatasetInfo): Promise<boolean> {
return SARCollector.setDataset(dataset)
}
/**
* 保存绘制的数据到指定的数据源中
* @throws 许可异常
*/
export function save(): Promise<boolean> {
return SARCollector.save()
}
/**
* 添加当前屏幕中心焦点到当前采集的几何对象中
*/
export function addHitPoint(): Promise<boolean> {
return SARCollector.addHitPoint()
}
/** 提交当前绘制的几何对象 */
export function submit(): Promise<boolean> {
return SARCollector.submit()
}
/** 取消当前绘制或采集的对象 */
export function cancel(): Promise<boolean> {
return SARCollector.cancel()
}
/** 撤销绘制 */
export function undo(): Promise<boolean> {
return SARCollector.undo()
}
/** 删除所有绘制或采集的几何对象 */
export function clear(): Promise<boolean> {
return SARCollector.clear()
}
// ************************************
// ar轨迹采集
// ************************************
/**
* 在手动轨迹采集模式 TRACK_MANUAL 下添加一个点
*/
export function addTrackPoint(): Promise<boolean> {
return SARCollector.addTrackPoint()
}
/**
* 将采集的轨迹保存为点
* @throws 许可异常
*/
export function saveTrackingPoint(): Promise<boolean> {
return SARCollector.saveTrackingPoint()
}
/**
* 将采集的轨迹保存为线
* @throws 许可异常
*/
export function saveTrackingLine(): Promise<boolean> {
return SARCollector.saveTrackingLine()
}
/**
* 将采集的轨迹保存为面
* @throws 许可异常
*/
export function saveTrackingRegion(): Promise<boolean> {
return SARCollector.saveTrackingRegion()
}