简体   繁体   中英

MKMapView maptype not changing?

I cannot understand why my MKMapView does not want to change to satellite view. This method is called and case 1 is called I have stepped over it but it simply does not change to satellite type it always changes to standard. It only works when it goes back to Map type. Anyone have any ideas?

- (IBAction)mapSatelliteSegmentControlTapped:(UISegmentedControl *)sender
{
    switch (sender.selectedSegmentIndex)
    {
        case 1: //Satellite 
            self.mapView.mapType = MKMapTypeSatellite;
        default:  //Map 
            self.mapView.mapType = MKMapTypeStandard;
    }
}

Your MKMapView is always ready to change to the satellite view. But you are forcing it to be in the standard view.

"You missed the break statement in case 1 " .

switch (((UISegmentedControl *) sender).selectedSegmentIndex) {
        case 0:
            map.mapType = MKMapTypeStandard;
            break;
        case 1:
            map.mapType = MKMapTypeSatellite;
            break;
        case 2:
            map.mapType = MKMapTypeHybrid;
            break;

        default:
            break;
    }

use this code and hookup at xib with "change the value" to segment controll

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM