Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ios中,哪一个最适合脱机映射?_Ios - Fatal编程技术网

在ios中,哪一个最适合脱机映射?

在ios中,哪一个最适合脱机映射?,ios,Ios,我不知道在ios中使用离线地图时,当internet连接处于打开状态时,在线地图获取和当用户internet连接处于关闭状态时,离线地图使用哪个地图 请给出您的答案。您可以使用Apple提供的可达性类切换地图,请参见下文 -(void)setupMapBox{ RMMapBoxSource *onlineSource = nil; Reachability *internet=[Reachability reachabilityWithHostName:@"google.co

我不知道在ios中使用离线地图时,当internet连接处于打开状态时,在线地图获取和当用户internet连接处于关闭状态时,离线地图使用哪个地图


请给出您的答案。

您可以使用Apple提供的
可达性
类切换地图,请参见下文

-(void)setupMapBox{

    RMMapBoxSource *onlineSource = nil;

    Reachability *internet=[Reachability reachabilityWithHostName:@"google.com"];

    if([internet isReachable]){
        //Go for online
        onlineSource = [[RMMapBoxSource alloc] initWithMapID:kMapID];
    }else{
        //If network is not reachable check for offline data if available

        if([[NSUserDefaults standardUserDefaults] objectForKey:@"TileJson"]){
            onlineSource=[[RMMapBoxSource alloc] initWithTileJSON:[[NSUserDefaults standardUserDefaults] objectForKey:@"TileJson"]];
        }else{
            //If nothing is available show an alert.
            UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"No Network!" message:@"Please check your network!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
            [alert show];
        }

    }

    if(onlineSource){
        //If resource is avaiable online/offline load the map else NO.

        [[NSUserDefaults standardUserDefaults] setObject:onlineSource.tileJSON forKey:@"TileJson"];
        [[NSUserDefaults standardUserDefaults] synchronize];


        rmMapView = [[RMMapView alloc] initWithFrame:self.viewMapContainer.frame andTilesource:onlineSource];

        rmMapView.delegate = self;

        //rmMapView.minZoom = 10;

        rmMapView.zoom = 8; // Set the minimum zoom level



        //Point to London
        CLLocationCoordinate2D coordinate;
        coordinate.latitude=51.5072;
        coordinate.longitude=0.1275;

        rmMapView.centerCoordinate=coordinate;

        [self.viewMapContainer addSubview:rmMapView];


        [self addAnnotations];



    }

MapBox
我可以参考,但是在这个静态脱机地图中使用的是什么意思
静态脱机地图使用的
,我不明白。*.mbtiles文件要显示保存的地图很好,您需要保存数据以脱机显示,它的缓存系统会自动执行此操作。这不是问题。。