/ / MKMapView Overlay в IOS6 - ios, xcode, mkmapview, mapkit, mkoverlay

MKMapView наслагване в IOS6 - ios, xcode, mkmapview, mapkit, mkoverlay

Добавям потребителски наслагвания към MKMapView и се нуждаяда изчистите съдържанието на картата, преди да добавите наслагване (т.е. когато мащабираната или нажежената карта по подразбиране трябва да бъде невидима) Нещо подобно на "canReplaceMapContent" в IOS7 и по-нови версии.

Има ли някакъв метод за извършване на това действие в IOS6?

Благодаря предварително.,

Отговори:

0 за отговор № 1

Методът ви по-долу:

- (void) removeMapOverlay {
[self.mapView removeOverlays:[self.mapView overlays]];

NSMutableArray *tempArray = [NSMutableArray arrayWithArray:[self.mapView annotations]];
if ([tempArray containsObject:[MKUserLocation class]]) {
[tempArray removeObject:[MKUserLocation class]];
}

NSArray *annotationArray = [NSArray arrayWithArray:tempArray];
tempArray = nil;
[self.mapView removeAnnotations:annotationArray];
}

Редактиране:

Когато прищипвате / мащабирате или панирате в картата. Има два метода делегат са на разположение можете да използвате, за да проверите картата се зарежда или не?

- (void)mapViewWillStartLoadingMap:(MKMapView *)mapView {
NSLog(@"loading...");
}

- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView {
NSLog(@"Map loaded...");
}

Какво предлагам да използвате по-горе два метода. Създайте bool променлива или някакво средство да не зареждате пояснения при мащабиране. Как винаги ще поддържам актуализация, ако има друг лесен начин да го направя.


0 за отговор № 2

Можете да начертаете персонализиран непрозрачен слой върхуКартите на Apple, но все още има много малък шанс да виждате картата отдолу от време на време. Mapbox за пълен контрол.