rn_supermap
Version:
rn_supermap 一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。
164 lines (153 loc) • 3.6 kB
JavaScript
/*********************************************************************************
Copyright © SuperMap. All rights reserved.
Author: Wang zihao
E-mail: pridehao@gmail.com
description: 三维相机对象类;
**********************************************************************************/
import { NativeModules } from 'react-native';
let C = NativeModules.JSCamera;
/**
* @class Camera
*/
export default class Camera {
/**
* 创建Camera对象。
* @memberOf Camera
* @returns {Camera}
*/
async createObj(lon, lat, alt, heading, tilt) {
try {
var { cameraId } = await C.createObj(lon, lat, alt, heading, tilt);
var camera = new Camera();
camera._SMCameraId = cameraId;
return camera;
} catch (e) {
console.error(e);
}
}
/**
* 获取Camera的lon分量。
* @memberOf Camera
* @returns {number}
*/
async getLon() {
try {
var { lon } = await C.getLon(this._SMCameraId);
return lon;
} catch (e) {
console.error(e);
}
}
/**
* 获取Camera的lat分量。
* @memberOf Camera
* @returns {number}
*/
async getLat() {
try {
var { lat } = await C.getLat(this._SMCameraId);
return lat;
} catch (e) {
console.error(e);
}
}
/**
* 获取Camera的alt分量。
* @memberOf Camera
* @returns {number}
*/
async getAlt() {
try {
var { alt } = await C.getAlt(this._SMCameraId);
return alt;
} catch (e) {
console.error(e);
}
}
/**
* 设置Camera的lon分量。
* @memberOf Camera
* @returns {number}
*/
async setLon(lon) {
try {
await C.setLon(this._SMCameraId,lon);
} catch (e) {
console.error(e);
}
}
/**
* 设置Camera的lat分量。
* @memberOf Camera
* @returns {number}
*/
async setLat(lat) {
try {
await C.setLat(this._SMCameraId,lat);
} catch (e) {
console.error(e);
}
}
/**
* 设置Camera的alt分量。
* @memberOf Camera
* @returns {number}
*/
async setAlt(alt) {
try {
await C.setAlt(this._SMCameraId,alt);
} catch (e) {
console.error(e);
}
}
/**
* 获取Camera的方位角。
* @memberOf Camera
* @returns {number}
*/
async getHeading() {
try {
var { heading } = await C.getHeading(this._SMCameraId);
return heading;
} catch (e) {
console.error(e);
}
}
/**
* 设置Camera的方位角。
* @memberOf Camera
* @returns {number}
*/
async setHeading(heading) {
try {
await C.setHeading(this._SMCameraId,heading);
} catch (e) {
console.error(e);
}
}
/**
* 获取Camera的俯仰角。
* @memberOf Camera
* @returns {number}
*/
async getTilt() {
try {
var { tilt } = await C.getTilt(this._SMCameraId);
return tilt;
} catch (e) {
console.error(e);
}
}
/**
* 设置Camera的俯仰角。
* @memberOf Camera
* @returns {number}
*/
async setTilt(tilt) {
try {
await C.setTilt(this._SMCameraId,tilt);
} catch (e) {
console.error(e);
}
}
}