MKMapView无法加载到mapType MKMapTypeStandard和MKMapTypeHybrid上

Bhu*_*dya 7 dictionary objective-c mkmapview ios

我正在开发一个应用程序,其中3种不同的maptype必须加载.

  1. MKMapTypeStandard
  2. MKMapTypeHybrid.
  3. MKMapTypeSatellite.

MKMapTypeSatellite工作正常,但在MKMapTypeStandard和MKMapTypeHybrid中加载地图时.它调用以下委托方法

- (void)mapViewDidFailLoadingMap:(MKMapView *)mapView withError:(NSError *)error;
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误.

UserInfo = {SimpleTileRequesterUnderlyingErrors =("Error Domain = GEOErrorDomain Code = -204 \"(null)\"UserInfo = {HTTPStatus = 410,NSErrorFailingURLStringKey = http://gspe19.ls.apple.com/tile.vf?flags=1&style = 1&大小= 2&规模= 0&v = 11043961&Z = 12&x = 660&Y = 1590&SID = 1311957767904651942802757092322405105280&ACCESSKEY = 1462435981_hSWhfZAWqY7wbLSz_6yKz632EUigAIfHlARfHz5OZnObk4SFpRyFZH9qim7suxznqeD333wldHPDaCADTpx1hD98l55WMoqg6qjh2BMyZtDwLayiLzpSWLxfuYD4Oi%2BI3wB%2BGvMwttokk5y8UlnR1E68zLU6KuXF4MWLKLhvv%2F6utSC8RDmorsQksacSTvCwYc45PeV5ba%2Fjvt2d3 }" ....

我正在切换地图类型

-(IBAction)valuechange:(id)sender{
    switch (((UISegmentedControl *) sender).selectedSegmentIndex) {
        case 0:
            _mapView.mapType = MKMapTypeStandard ;
            break;

        case 1:
            _mapView.mapType = MKMapTypeSatellite ;
            break;

        case 2:
            _mapView.mapType = MKMapTypeHybrid ;
            break;

        default:
            break;
    }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述在此输入图像描述在此输入图像描述

更新: 我认为我有类似的问题 MKMapView无法加载具有HTTP 410错误的磁贴

当我重新启动模拟器.现在地图加载完美.同样我的客户告诉我,如果他杀死他的设备地图上的应用程序完美加载.但每个新负载应用程序都有此问题.我现在感到沮丧.:(

Kru*_*ala 1

这段代码对我有用..如果您有一些修改,请检查下面。

- (void)viewDidLoad {

[super viewDidLoad];

mapView = [[MKMapView alloc]initWithFrame:
           CGRectMake(10, 100, 300, 300)];
mapView.delegate = self;
mapView.centerCoordinate = CLLocationCoordinate2DMake(37.32, -122.03);
mapView.mapType = MKMapTypeHybrid;
CLLocationCoordinate2D location;
location.latitude = (double) 37.332768;
location.longitude = (double) -122.030039;

// Add the annotation to our map view
MapAnnotation *newAnnotation = [[MapAnnotation alloc]
                                initWithTitle:@"MKMapTypeHybrid" andCoordinate:location];
[mapView addAnnotation:newAnnotation];
CLLocationCoordinate2D location2;
location2.latitude = (double) 37.35239;
location2.longitude = (double) -122.025919;
MapAnnotation *newAnnotation2 = [[MapAnnotation alloc]
                                 initWithTitle:@"MKMapTypeHybrid" andCoordinate:location2];
[mapView addAnnotation:newAnnotation2];
[self.view addSubview:mapView];

}


// When a map annotation point is added, zoom to it (1500 range)
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views
{

MKAnnotationView *annotationView = [views objectAtIndex:0];
id <MKAnnotation> mp = [annotationView annotation];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance
([mp coordinate], 1500, 1500);
[mv setRegion:region animated:YES];
[mv selectAnnotation:mp animated:YES];

}
Run Code Online (Sandbox Code Playgroud)

只需更改值mapView.mapType = MKMapTypeStandard;

MKMapTypeStandard、MKMapTypeHybrid 和 MKMapTypeSatellite

如果您想检查的话,我也发布了图像。

MKMapTypeHybrid

MKMapType卫星

MKMapType标准