2012-04-10 12 views
1

Ich überprüfe das Brotkrumen-Beispiel:MKOverlayView drawMapRect: zoomScale: inContext: wann heißt es?

http://developer.apple.com/library/ios/#samplecode/Breadcrumb/Introduction/Intro.html

auf dem iPhone-Simulator, wenn ich irgendwo aus dem anfänglichen US Blick von der MKMapView simulieren, drawMapRect: zoomScale: InContext: nicht auf, wenn es aufgerufen sollte etwas zeichnen.

Warum ist das? Wann wird die Methode aufgerufen? Was kann ich tun, damit es funktioniert?

Antwort

0

Welche Version von xCode verwenden Sie?

Dies sind die Anforderungen für die App:

BUILD ANFORDERUNGEN:

iOS 5.0 SDK oder später

LAUFZEIT ANFORDERUNGEN:

iOS 4.0 oder höher

+0

X-Code 4.3.2. Ich weiß nicht, warum es manchmal funktioniert, manchmal nicht. – huggie

+0

Auf meiner eigenen App, die die gleiche Logik implementiert funktioniert aus irgendeinem Grund gut. – huggie

3

Dies, weil ist der Begrenzung, um Routen in der Region von Viertel der Weltgröße in Höhe und Breite um den aktuellen Standort anzuzeigen.

Überprüfen Sie diesen Code aus in CrumbPath.m

// bite off up to 1/4 of the world to draw into. 
    MKMapPoint origin = points[0]; 
    origin.x -= MKMapSizeWorld.width/8.0; 
    origin.y -= MKMapSizeWorld.height/8.0; 
    MKMapSize size = MKMapSizeWorld; 
    size.width /= 4.0; 
    size.height /= 4.0; 
    boundingMapRect = (MKMapRect) { origin, size }; 
    MKMapRect worldRect = MKMapRectMake(0, 0, MKMapSizeWorld.width, MKMapSizeWorld.height); 
    boundingMapRect = MKMapRectIntersection(boundingMapRect, worldRect);