react-native-mobilex 开发文档
    Preparing search index...

    Interface Spec

    interface Spec {
        cancelResourceImport(requestId: string): void;
        createMap(name: string, path: null | string): Promise<string>;
        createSource(
            name: string,
            geometryType: "point" | "line" | "fill",
            fieldInfos: null | IFieldInfo[],
        ): Promise<null | string>;
        deleteResource(uri: string): Promise<boolean>;
        exportMap(uri: string): Promise<boolean>;
        exportSource(options: NativeExportSourceOptions): Promise<string>;
        fromGeoJSON(
            sourceUri: string,
            geojson: string,
            replaceById: null | boolean,
        ): Promise<boolean>;
        getMaps(): IResource[];
        getSourceInfo(options: NativeSourceInfoOptions): Promise<string>;
        getSources(): NativeResourceSource[];
        getSymbols(): IResource[];
        getTiles(): NativeResourceTile[];
        getWorkFolderPath(): Promise<string>;
        importMap(option: null | MapImportOption): Promise<IResource>;
        importSource(
            options: NativeImportSourceOptions,
        ): Promise<NativeResourceSource[]>;
        importSymbol(): Promise<IResource>;
        importTiles(options: NativeImportTilesOptions): Promise<NativeResourceTile>;
        setWorkFolder(path: null | string): Promise<void>;
        toGeoJSON(
            sourceUri: string,
            hasAttribute: boolean,
            queryParam: null | RNQueryParameter,
        ): Promise<undefined | string>;
    }

    Hierarchy

    • TurboModule
      • Spec
    Index

    Methods

    • Internal

      取消尚未提交的原生导入;公开接口通过 options.signal 控制。

      Parameters

      • requestId: string

      Returns void

    • 工作空间内创建地图

      Parameters

      • name: string

        地图名

      • path: null | string

        工作空间所在文件夹,若不指定,则为当前工作空间中

      Returns Promise<string>

      若指定了工作空间路径,则返回地图的绝对路径,否则返回当前工作空间中地图的 uri

    • 在工作空间内创建一个本地数据源

      Parameters

      • name: string

        数据源名称,不能重名

      • geometryType: "point" | "line" | "fill"

        数据源类型

      • fieldInfos: null | IFieldInfo[]

        数据源字段

      Returns Promise<null | string>

      本地数据源 uri

    • 删除当前工作空间内指定的内部资源

      Parameters

      • uri: string

        内部资源 uri,如地图 uri:mobilex://maps/name

      Returns Promise<boolean>

      是否成功

    • 从当前工作空间中导出指定地图及其资源

      导出时会调起系统文件选择器选择导出路径,选择后直接导出到指定路径上

      若指定地图没有任何本地资源(如本地数据源,本地符号等),则仅导出地图文件;若有资源,则会连同相关资源一起导出为 zip 压缩文件

      导出的地图文件或zip压缩包可以通过 importMap 导入

      Parameters

      • uri: string

        要导出的地图资源 uri

      Returns Promise<boolean>

      是否导出成功

    • 将已保存的矢量资源导出为交换文件,不需要资源已加入地图。

      支持 gdb(整库 zip)、shp(zip)、kml、geojson、xlsx/csv。 省略 targetUri 时打开系统保存选择器。返回 JSON 结果字符串, 公开接口解析为 ExportSourceResult。

      Parameters

      Returns Promise<string>

      CANCELLED - 用户取消或请求取消。

      INVALID_ARGUMENT - 导出选项无效。

      FILE_EXISTS - 目标已存在且 conflictOption 为 error。

      CONVERSION_UNAVAILABLE - 当前安装包缺少原生转换能力。

      IO_ERROR - 其他错误

    • 导入 GeoJSON 数据到指定数据源中

      Parameters

      • sourceUri: string

        要导入的数据源

      • geojson: string

        要导入的 GeoJSON 数据

      • replaceById: null | boolean

        是否替换相同 id 数据。默认即替换

      Returns Promise<boolean>

      是否成功

    • 获取当前工作空间保存的地图列表

      Returns IResource[]

      地图资源列表

    • 只读查询尚未导入的矢量源内容清单(当前为 GDB zip 包)。

      不导入数据、不创建资源、不需要地图。省略 uri 时打开系统文件选择器。 返回 JSON 清单字符串,公开接口解析为 SourceInfoResult。

      Parameters

      Returns Promise<string>

      CANCELLED - 用户取消文件选择。

      INVALID_ARGUMENT - 参数或文件格式无效。

      CONVERSION_UNAVAILABLE - 当前安装包缺少原生转换能力。

      IO_ERROR - 其他错误

    • 同步获取当前工作空间保存的数据源及基础信息。

      仅读取工作空间配置,不扫描数据文件、不加载地图,也不补算旧资源缺失的统计。 统计信息由导入和保存流程维护;尚未保存的编辑不保证反映在返回结果中。

      Returns NativeResourceSource[]

      数据源资源列表;工作空间无数据源时为空数组。

      const sources = RTNResource.getSources();
      for (const source of sources) {
      console.log(source.name, source.featureCount ?? '未知', source.crs?.epsg);
      }
    • 获取当前工作空间保存的所有符号资源

      Returns IResource[]

      资源列表

    • 获取当前工作空间绝对路径

      Returns Promise<string>

      返回当前工作空间文件夹在内部存储的绝对路径

    • 导入地图到当前工作空间

      Parameters

      Returns Promise<IResource>

      导入的资源信息

      CANCELLED - 用户取消操作

      INVALID_DATA - 导入的数据不包含有效的地图数据

      IO_ERROR - 其他错误

    • 将 GeoJSON、SHP、KML 或 Excel/CSV 导入当前工作空间。

      无需创建 controller、WebView 或地图。省略 uris 时打开系统文件选择器。 多图层或多几何类型可生成多个资源,返回实际名称及已记录的基础信息。 同名默认自动改名,conflictOption 为 error 时拒绝冲突;不会覆盖已有资源。 GeoJSON 导入会为各输出数据源生成连续数值 ID,原始 id 的保留规则见 ImportSourceGeoJSONOptions。

      Parameters

      Returns Promise<NativeResourceSource[]>

      持久化资源信息;不自动注册到地图或添加图层。

      CANCELLED - 用户取消操作

      NAME_CONFLICT - conflictOption 为 error 时发生名称冲突,消息包含冲突名称。

      WORKSPACE_CHANGED - 导入期间切换了工作空间,本次导入不提交。

      INVALID_ARGUMENT - 导入选项或文件组合无效。

      INVALID_GEOMETRY - 输入包含不支持的几何。

      CONVERSION_UNAVAILABLE - 当前安装包缺少原生转换能力。

      IO_ERROR - 其他错误

    • 导入符号资源到当前工作空间

      • 目前支持 png, jpg, webp

      Returns Promise<IResource>

      资源列表

    • 导入切图资源到当前工作空间

      必须明确指定 format;省略 fileUri 时调起系统文件选择器。 支持 SCI、SCI3D、SCP、SCT、MVT 资源包以及 MBTiles / TIFF 文件。 文件及 ZIP 包内容必须与所选格式一致;同名默认自动改名,不覆盖已有资源。

      // 打开系统文件选择器
      const tile = await RTNResource.importTiles({ format: 'tiff' });
      // 直接导入指定文件
      const resourceTile = await RTNResource.importTiles({ format: 'mvt', fileUri: 'file:///data/local/tmp/tiles.zip' });

      Parameters

      Returns Promise<NativeResourceTile>

      导入的资源信息

      INVALID_ARGUMENT - 导入参数无效。

      FORMAT_MISMATCH - 文件或包内资源与指定格式不匹配。

      NAME_CONFLICT - conflictOption 为 error 时发生名称冲突。

      WORKSPACE_CHANGED - 导入期间切换工作空间,本次导入不提交。

      TILE_PYRAMID_FAILED - TIFF 金字塔生成失败;可关闭 generatePyramid 后尝试直接导入。

      CONVERSION_UNAVAILABLE - 当前构建未包含影像金字塔处理能力。

      CANCELLED - 用户取消操作

      INVALID_DATA - 没有有效的瓦片候选资源,或包内存在多个候选资源。

      IO_ERROR - 其他错误

    • 使用内部存储目录作为工作空间

      工作空间包含内包含:

      • maps 文件夹,保存了地图文件
      • sources 文件夹,保存了工作空间内的所有数据源
      • tiles 文件夹,保存了工作空间内的所有影像文件夹
      • symbols 文件夹,保存了工作空间内的所有符号文件

      设置工作空间目录后,会使用指定目录下的文件结构来使用地图,数据源等资源

      Parameters

      • path: null | string

        工作空间绝对路径,设置为 null 则使用默认工作空间

      Returns Promise<void>

    • 将矢量数据源中指定数据转为 GeoJSON 数据

      Parameters

      • sourceUri: string

        矢量数据源 uri

      • hasAttribute: boolean

        是否导入属性

      • queryParam: null | RNQueryParameter

        查询参数,默认查询所有数据

      Returns Promise<undefined | string>

      GeoJSON 字符串