imobile_for_reactnative
Version:
iMobile for ReactNative,是SuperMap iMobile推出的一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。
327 lines (288 loc) • 11.2 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: Track.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: Track.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/*********************************************************************************
Copyright © SuperMap. All rights reserved.
Author: Wang zihao
E-mail: pridehao@gmail.com
**********************************************************************************/
import {NativeModules} from 'react-native';
let T = NativeModules.JSTrack;
import Dataset from './Dataset.js';
import Datasets from './Datasets.js';
/**
* @class Track
* @description 轨迹记录类。
*/
export default class Track {
/**
* 创建一个Track对象
* @memberOf Track
* @returns {Promise.<Track>}
*/
async createObj(){
try{
var {_trackId_} = await T.createObj();
var track = new Track();
track._SMTrackId = _trackId_;
return track;
}catch (e){
console.error(e);
}
}
/**
* 创建轨迹数据集,创建出来的数据集为点数据集。
* @memberOf Track0
* @param {object} datasource - 轨迹数据集所属的数据源。
* @param {string} name - 数据集的名称。
* @returns {Promise.<Dataset>}
*/
async createDataset(datasource,name){
try{
var {datasetId} = await T.createDataset(this._SMTrackId,datasource._SMDatasourceId,name);
var dataset = new Dataset();
dataset._SMDatasetId = datasetId;
return dataset;
}catch (e){
console.error(e);
}
}
/**
* 获取是否用户自定义定位点。(该方法只支持android设备)
* @memberOf Track
* @returns {Promise.<Promise.customLocation>}
*/
async getCustomLocation(){
try{
var {customLocation} = await T.getCustomLocation(track._SMTrackId);
return customLocation;
}catch (e){
console.error(e);
}
}
/**
* 获取轨迹数据集。
* @memberOf Track
* @returns {Promise.<Dataset>}
*/
async getDataset(){
try{
var {datasetId} = await T.getDataset(this._SMTrackId);
var dataset = new Dataset();
dataset._SMDatasetId = datasetId;
return dataset;
}catch (e){
console.error(e);
}
}
/**
* 获取距离间隔,单位为米,默认的距离间隔是5米。
* @memberOf Track
* @returns {Promise.<Promise.distanceInterval>}
*/
async getDistanceInterval(){
try{
var {distanceInterval} = await T.getDistanceInterval(track._SMTrackId);
return distanceInterval;
}catch (e){
console.error(e);
}
}
/**
* 获取匹配线数据集集合。
* @memberOf Track
* @returns {Promise.<Datasets>}
*/
async getMatchDatasets(){
try{
var {idArr} = await T.getMatchDatasets(this._SMTrackId);
if(idArr === false){
return false;
}
var objArr = [];
for(var i=0; i<idArr.length; i++) {
var dataset = new Dataset();
dataset._SMDatasetId = idArr[i];
objArr.push(dataset);
}
return objArr;
}catch (e){
console.error(e);
}
}
/**
* 获取时间间隔。
* @memberOf Track
* @returns {Promise.<Promise.timeInterval>}
*/
async getTimeInterval(){
try{
var {timeInterval} = await T.getTimeInterval(track._SMTrackId);
return timeInterval;
}catch (e){
console.error(e);
}
}
/**
* 获取当前是否使用速度和方位角模式。(该方法只支持android设备)
* @memberOf Track
* @returns {Promise.<Promise.isSpeedDirectionEnable>}
*/
async isSpeedDirectionEnable(){
try{
var {isSpeedDirectionEnable} = await T.isSpeedDirectionEnable(track._SMTrackId);
return isSpeedDirectionEnable;
}catch (e){
console.error(e);
}
}
/**
* 设置是否用户自定义定位点,默认为true。(该方法只支持android设备)
* @memberOf Track
* @param {boolean} bCustomLocation - 是否用户自定义定位点。
* @returns {Promise.<void>}
*/
async setCustomLocation(bCustomLocation){
try{
await T.setCustomLocation(track._SMTrackId,bCustomLocation);
}catch (e){
console.error(e);
}
}
/**
* 设置轨迹数据集,用户使用轨迹功能时,要先使用创建轨迹数据集的方法创建数据集,然后调用该方法设置轨迹数据集。
* @memberOf Track
* @param {object} datasetVector - 轨迹数据集。
* @returns {Promise.<void>}
*/
async setDataset(dataset){
try{
await T.setDataset(track._SMTrackId,dataset._SMDatasetId);
}catch (e){
console.error(e);
}
}
/**
* 设置距离间隔,单位为米,距离间隔值必须大于或等于3米,否则会自动处理为3米。
* @memberOf Track
* @param {number} interval - 距离间隔。
* @returns {Promise.<void>}
*/
async setDistanceInterval(interval){
try{
await T.setDistanceInterval(track._SMTrackId,interval);
}catch (e){
console.error(e);
}
}
/**
* 设置GPSData数据,只有将setCustomLocation(boolean bCustomLocation)参数设置为true时,该接口才起作用。
*(该方法只支持android设备)
* @memberOf Track
* @param {object} jsonGpsData - 用户设置的gpsdata。
* @returns {Promise.<void>}
*/
async setGPSData(jsonGpsData){
try{
await T.setGPSData(track._SMTrackId,jsonGpsData);
}catch (e){
console.error(e);
}
}
/**
* 设置匹配线数据集集合,为轨迹抓路功能使用,该数据集集合应为线数据集集合。
* @memberOf Track
* @deprecated
* @param {Array} datsets - 设置匹配线数据集集合。
* @returns {Promise.<void>}
*/
async setMatchDatasets(datsets){
try{
//to do
await T.setMatchDatasets(track._SMTrackId,datsets._SMDatasetsId);
}catch (e){
console.error(e);
}
}
/**
* 设置速度和方位角模式,支持转弯、高速、低速场景下记录轨迹点的稀疏和加密
*(该方法只支持android设备)
* @memberOf Track
* @param {number} speedDirectionEnable - 距离间隔。
* @returns {Promise.<void>}
*/
async setSpeedDirectionEnable(speedDirectionEnable){
try{
await T.setSpeedDirectionEnable(track._SMTrackId,speedDirectionEnable);
}catch (e){
console.error(e);
}
}
/**
* 设置时间间隔,单位为秒,时间间隔值必须大于20秒,否则设置时间间隔失败。
* @memberOf Track
* @param {number} timeInterval - 时间间隔。
* @returns {Promise.<void>}
*/
async setTimeInterval(timeInterval){
try{
await T.setTimeInterval(track._SMTrackId,timeInterval);
}catch (e){
console.error(e);
}
}
/**
* 开启轨迹功能。
* @memberOf Track
* @returns {Promise.<void>}
*/
async startTrack(){
try{
await T.startTrack(track._SMTrackId);
}catch (e){
console.error(e);
}
}
/**
* 关闭轨迹功能。
* @memberOf Track
* @returns {Promise.<void>}
*/
async stopTrack(){
try{
await T.stopTrack(track._SMTrackId);
}catch (e){
console.error(e);
}
}
}
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BufferAnalyst.html">BufferAnalyst</a></li><li><a href="BufferAnalystParameter.html">BufferAnalystParameter</a></li><li><a href="DataDownloadService.html">DataDownloadService</a></li><li><a href="Dataset.html">Dataset</a></li><li><a href="DatasetVector.html">DatasetVector</a></li><li><a href="DatasetVectorInfo.html">DatasetVectorInfo</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="DatasourceConnectionInfo.html">DatasourceConnectionInfo</a></li><li><a href="DataUploadService.html">DataUploadService</a></li><li><a href="Feature.html">Feature</a></li><li><a href="FeatureSet.html">FeatureSet</a></li><li><a href="GeoLine.html">GeoLine</a></li><li><a href="Geometry.html">Geometry</a></li><li><a href="GeoPoint.html">GeoPoint</a></li><li><a href="GeoRegion.html">GeoRegion</a></li><li><a href="GeoStyle.html">GeoStyle</a></li><li><a href="Layer.html">Layer</a></li><li><a href="LayerSetting.html">LayerSetting</a></li><li><a href="LayerSettingVector.html">LayerSettingVector</a></li><li><a href="LocationManager.html">LocationManager</a></li><li><a href="Map.html">Map</a></li><li><a href="MapControl.html">MapControl</a></li><li><a href="MapView.html">MapView</a></li><li><a href="Navigation2.html">Navigation2</a></li><li><a href="OverlayAnalyst.html">OverlayAnalyst</a></li><li><a href="OverlayAnalystParameter.html">OverlayAnalystParameter</a></li><li><a href="Point.html">Point</a></li><li><a href="Point2D.html">Point2D</a></li><li><a href="QueryParameter.html">QueryParameter</a></li><li><a href="QueryService.html">QueryService</a></li><li><a href="Rectangle2D.html">Rectangle2D</a></li><li><a href="Scene.html">Scene</a></li><li><a href="Selection.html">Selection</a></li><li><a href="ServiceBase.html">ServiceBase</a></li><li><a href="ServiceQueryParameter.html">ServiceQueryParameter</a></li><li><a href="Size2D.html">Size2D</a></li><li><a href="Theme.html">Theme</a></li><li><a href="Track.html">Track</a></li><li><a href="TrackingLayer.html">TrackingLayer</a></li><li><a href="TraditionalNavi.html">TraditionalNavi</a></li><li><a href="Workspace.html">Workspace</a></li><li><a href="WorkspaceConnectionInfo.html">WorkspaceConnectionInfo</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Aug 01 2017 16:16:49 GMT+0800 (CST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>