[英]How can I change mapView mapType from within a partial curl?
我正在尝试重新创建Google地图的功能,将地图类型更改为混合或卫星或标准。 我已经设置了一个以部分卷曲过渡显示的视图。 在此视图中,是一个UISegmentedControl。 当它的值改变时,执行以下代码:
- (IBAction)setMap:(id)sender {
switch (((UISegmentedControl *) sender).selectedSegmentIndex) {
case 0:
[self curlViewControllerDidFinish:nil];
[mapview setMapType:MKMapTypeStandard];
break;
case 1:
[self curlViewControllerDidFinish:nil];
[mapview setMapType:MKMapTypeSatellite];
break;
case 2:
[self curlViewControllerDidFinish:nil];
[mapview setMapType:MKMapTypeHybrid];
break;
}
}
卷曲过渡确实完成,但mapType不会更改。 我试过把[mapview setmapType...
放在[self curlViewControllerDidFinish...
上面[self curlViewControllerDidFinish...
。
注意: [mapview setMapType:MKMapTypeHybrid];
如果在curl转换之外执行,则会使用1行代码更改mapType。
有想法该怎么解决这个吗?
iOS Maps.app很可能使用委托来通知地图视图模态视图已选择新选项。 像这样的东西:
- (IBAction)setMap:(id)sender {
switch (((UISegmentedControl *) sender).selectedSegmentIndex) {
case 0:
[self curlViewControllerDidFinish:nil];
[self.delegate setMapType:MKMapTypeStandard];
[self dismissModalViewControllerAnimated:YES];
break;
case 1:
[self curlViewControllerDidFinish:nil];
[self.delegate setMapType:MKMapTypeSatellite];
[self dismissModalViewControllerAnimated:YES];
break;
case 2:
[self curlViewControllerDidFinish:nil];
[self.delegate setMapType:MKMapTypeHybrid];
[self dismissModalViewControllerAnimated:YES];
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.