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

    Interface Spec

    React Native 原生瓦片下载模块。

    通过导出的 RTNTileDownloader 使用。下载进度、完成和取消状态通过 RTNMobileXEvent 的 addListener() 监听。

    interface Spec {
        cancelDownload(id: number): void;
        computeTileCount(
            projection: TTileProjection,
            bounds: IRectangle2D,
            minZoom: number,
            maxZoom: null | number,
        ): number;
        downloadTile(options: ITileDownloadOption): number;
    }

    Hierarchy

    • TurboModule
      • Spec
    Index

    Methods

    • 取消下载

      Parameters

      Returns void

    • 计算指定范围、层级内的瓦片个数

      Parameters

      • projection: TTileProjection

        指定计算时使用的投影

      • bounds: IRectangle2D

        指定经纬度范围

      • minZoom: number

        最小层级

      • maxZoom: null | number

        最大层级

      Returns number

      指定范围,层级内包含的瓦片个数

    • 下载瓦片

      // 下载wmts服务
      RTNTileDownloader.downloadTile({
      urlTemplate: 'http://example.com/tiles/{x}/{y}/{z}/',
      folder: '/data/user/0/com.example/cache/tiles',
      bounds: {
      bottom: 30.514121291346576,
      left: 104.08676403274296,
      right: 104.09625099281573,
      top: 30.53037575054801,
      },
      maxZoom: 4,
      minZoom: 2,
      projection: 'mercator',
      scheme: 'wmts',
      })

      // 下载 iserver xyz
      RTNTileDownloader.downloadTile({
      urlTemplate: 'https://iserver.supermap.io/iserver/services/map-world/rest/maps/World',
      folder: '/data/user/0/com.example/cache/tiles',
      bounds: {
      bottom: 30.514121291346576,
      left: 104.08676403274296,
      right: 104.09625099281573,
      top: 30.53037575054801,
      },
      maxZoom: 4,
      minZoom: 2,
      projection: 'mercator',
      scheme: 'iserver_xyz',
      })

      // 下载 iserver tileimage
      RTNTileDownloader.downloadTile({
      urlTemplate: 'https://iserver.supermap.io/iserver/services/map-world/rest/maps/World',
      folder: '/data/user/0/com.example/cache/tiles',
      bounds: {
      bottom: 30.514121291346576,
      left: 104.08676403274296,
      right: 104.09625099281573,
      top: 30.53037575054801,
      },
      maxZoom: 4,
      minZoom: 2,
      projection: 'lnglat',
      scheme: 'iserver_tileimage',
      })

      进度可通过以下事件监听

      // 监听下载进度
      const e = RTNMobileXEvent.addListener('onTileDownloadProgress', (p) => {
      console.log('onTileDownloadProgress', p.current / p.total)
      })

      // 监听下载完成事件
      const e1 = RTNMobileXEvent.addListener('onTileDownloaded', (p) => {
      console.log('on downloaded', p)
      })

      // 监听下载取消事件
      const e2 = RTNMobileXEvent.addListener('onTileCancelled', (p) => {
      console.log('on download cancel', p)
      })

      Parameters

      Returns number

      下载任务 id,可传给 cancelDownload 取消任务