Я использую MKPolylineview, чтобы показать маршрут на карте.
У меня есть две кнопки, одна для отображения маршрута, другая для скрытия маршрута.
На iPhone с ios 4.0.2 маршрут скрывается и отображается отлично, когда я нажимаю на кнопки.
На iPhone с установленным ios 4.1 маршрут отображается нормально. Когда я нажимаю кнопку, чтобы скрыть маршрут, линия увеличивается в размере х2 (примерно) и становится размытой.
Если я поиграю с уровнем увеличения, он со временем исчезнет. Временами, когда я снова увеличиваю масштаб, он появляется на мгновение, когда я прохожу через определенный уровень масштабирования. (Я знаю, что технически нет уровней масштабирования в MapKit, но я надеюсь, что вы меня поняли).
Эффект размытия линий происходит в симуляторе также с 4.1. Он не отображается в предыдущей версии моего приложения в Магазине, созданной в предыдущем выпуске SDK.
Ниже приведен фрагмент кода, который скрывает маршрут при нажатии кнопки.
-(IBAction) segmentedControlIndexChanged{
switch (self.control.selectedSegmentIndex) {
case 0:{
NSArray *allValues = [routeLineViews allValues];
for(MKOverlayView *lineView in allValues){
lineView.hidden = YES;
}
[map setNeedsLayout];
break;
}
}