首页 / 浏览问题 / 移动GIS / 问题详情
ios 下载缓存异常
1EXP 2019年08月07日

使用产品:supermap-imobile-912(2019)-1158-rtm-ios-chs_(精简版)
问题详细描述:调用 MapCacheService下载缓存时 出现异常

代码

-(Dataset*)getDataset:(DatasourceConnectionInfo*)connectionInfo {
    Workspace *workspace = [[Workspace alloc]init];
    Datasource *datasource = [workspace.datasources open:connectionInfo];
    if (datasource) {
        Datasets *datasets = [datasource datasets];
        if (datasets.count) {
            Dataset *dataset = [datasets get:0];
            return dataset;
        }
    }
    return nil;
}

-(void)startDown {
    DatasourceConnectionInfo *info = [[DatasourceConnectionInfo alloc]init];
    info.engineType = ET_IMAGEPLUGINS;
    info.server = self.imageSciFile;
    info.alias = self.imageAlias;

    Dataset * dataset = [self getDataset:info];

    // MapCacheService *service = [[MapCacheService alloc]initWithDataset:dataset];
    MapCacheService *service = [((DatasetImage*)dataset) getMapCacheService];
    service.delegate = self;
    [service startDownload:_maxScale minScal:_minScale rect:_rect2D];
    ........
}

开始下载时出现异常

[service startDownload:_maxScale minScal:_minScale rect:_rect2D];

image

UGC::UGMapCacheFile::GetBounds()

image

地图范围:

        <sml:Bounds>

        <sml:Left>114.229839088925</sml:Left>

        <sml:Top>38.904819444444399</sml:Top>

        <sml:Right>123.400530149205</sml:Right>

        <sml:Bottom>33.938930555555601</sml:Bottom>

        </sml:Bounds>

比例尺
 

        <sml:Scale>

        <sml:Value>0.00000021634092214020</sml:Value>

        <sml:Caption>7</sml:Caption>

        </sml:Scale>

        <sml:Scale>

        <sml:Value>0.00000043268187423457</sml:Value>

        <sml:Caption>8</sml:Caption>

        </sml:Scale>

        。。。

       

1个回答

看下是不是网络的原因,

在info.plist中添加参数
App Transport Security Settings
这个是个字典,所以在其下方选择
Allow Arbitrary Loads,并设值为YES

1,737EXP 2019年08月07日
地图可以显示出来,网络时通的。

软件中有个功能 离线地图功能,要通过 MapCacheService 将瓦片缓存下来。这个时候出现的异常。

本地测试可以下载,打开rest地图服务:http://support.supermap.com.cn:8090/iserver/services/map-china400/rest/maps/China_4326

下载代码如下:

MapCacheService *qmap=[[MapCacheService alloc]initWithDataset:[datas.datasets get:0]];
double mmm=1.0/36978669.4318241;
double sss=1.0/4622333.67897758;
[qmap startDownload:sss minScal:mmm rect:[[Rectangle2D alloc]initWith:-180 bottom:-85 right:180 top:85]];

...