# Source: CoordinateConvertParameter.js

    /*
     * @Description: In User Settings Edit
     * @Author: xiaoying
     * @Date: 2019-09-11 11:50:35
     * @LastEditTime: 2019-09-11 12:00:38
     * @LastEditors: mayuanye
     */
    import { NativeModules } from 'react-native';
    let CCP = NativeModules.JSCoordinateConvertParameter;

    /**
     * @class CoordinateConvertParameter
     * @description 坐标转换参数
     */
    export default class CoordinateConvertParameter {
      /**
       * 构造一个新的CoordinateConvertParameter对象
       * @memberof CoordinateConvertParameter
       * @returns {Promise<CoordinateConvertParameter>}
       */
      async createObj() {
        try {
          var { CoordinateConvertParameterId } = await CCP.createObj();
          var coordinateConvertParameter = new CoordinateConvertParameter();
          coordinateConvertParameter._MGCoordinateConvertParameterId = CoordinateConvertParameterId;
          return coordinateConvertParameter;
        } catch (e) {
          console.error(e);
        }
      }

      /**
       * 获取目标坐标类型
       *
       * @memberof CoordinateConvertParameter
       * @returns {Number} 目标坐标类型（int类型的Number，例：0--CoordinateType.BAIDU_LngLat）
       */
      async getDestCoordinateType() {
        try {
          let destCoordinateType = await CCP.getDestCoordinateType(
            this._MGCoordinateConvertParameterId
          );
          return destCoordinateType;
        } catch (e) {
          console.error(e);
        }
      }

      /**
       * 设置转换的目标坐标类型 必设参数
       *
       * @memberof CoordinateConvertParameter
       * @param {Number} destCoordinateType 目标坐标类型（int类型的Number，例：0--CoordinateType.BAIDU_LngLat）
       * @returns {Promise<CoordinateConvertParameter>}
       */
      async setDestCoordinateType(destCoordinateType) {
        try {
          var { CoordinateConvertParameterId } = await CCP.setDestCoordinateType(
            this._MGCoordinateConvertParameterId,
            destCoordinateType
          );
          var coordinateConvertParameter = new CoordinateConvertParameter();
          coordinateConvertParameter._MGCoordinateConvertParameterId = CoordinateConvertParameterId;
          return coordinateConvertParameter;
        } catch (e) {
          console.error(e);
        }
      }

      /**
       * 获取源坐标类型
       *
       * @memberof CoordinateConvertParameter
       * @returns {Number} 源坐标类型（int类型的Number，例：0--CoordinateType.BAIDU_LngLat）
       */
      async getSrcCoordinateType() {
        try {
          let srcCoordinateType = await CCP.getSrcCoordinateType(
            this._MGCoordinateConvertParameterId
          );
          return srcCoordinateType;
        } catch (e) {
          console.error(e);
        }
      }

      /**
       * 设置转换的源坐标类型 必设参数
       *
       * @memberof CoordinateConvertParameter
       * @param {Number} srcCoordinateType 源坐标类型（int类型的Number，例：0--CoordinateType.BAIDU_LngLat）
       * @returns {Promise<CoordinateConvertParameter>}
       */
      async setSrcCoordinateType(srcCoordinateType) {
        try {
          var { CoordinateConvertParameterId } = await CCP.setSrcCoordinateType(
            this._MGCoordinateConvertParameterId,
            srcCoordinateType
          );
          var coordinateConvertParameter = new CoordinateConvertParameter();
          coordinateConvertParameter._MGCoordinateConvertParameterId = CoordinateConvertParameterId;
          return coordinateConvertParameter;
        } catch (e) {
          console.error(e);
        }
      }
    }