Я использую MKPolylineview, чтобы показать маршрут на карте.
У меня есть две кнопки, одна для отображения маршрута, другая для скрытия маршрута.
На iPhone с ios 4.0.2 маршрут отлично скрывается и отображается, когда я нажимаю кнопки.
На айфоне с установленной ios 4.1 маршрут отображается нормально. Когда я нажимаю кнопку, чтобы скрыть маршрут, линия увеличивается в размере x2 (примерно) и становится размытой.
Если я играю с уровнем масштабирования, он в конечном итоге исчезает. Иногда, когда я увеличиваю масштаб, он на мгновение появляется снова, когда я прохожу определенный уровень масштабирования. (Я знаю, что в 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;
}
}