Wie kann ich MKMapRect um einen festen Prozentsatz erweitern?

8

Ich möchte ein MKMapRect-Ergebnis erhalten, das in allen Richtungen 10-20% größer ist als das aktuelle visibleMapRect . Wenn dies ein CGRect wäre, würde ich CGRectInset mit negativen x- und y-Werten verwenden, was mir einen inversen Inset (d. H. Ein größeres rect) liefert. Leider unterstützt MKMapInset keine negativen Einfügewerte, daher ist es nicht ganz so einfach.

Dies könnte einfacher sein, wenn die Werte für die Map Rect erkennbare Einheiten sind, aber die X- und Y-Werte des Ursprungs in der Größenordnung von 4.29445e + 07 liegen und die Breite / Höhe zwischen 2500 und 3000 liegt.

Ich brauche ungefähr 10 Sekunden, um eine Kategorie manuell zu schreiben, aber ich wollte sichergehen, dass ich zuerst nichts verpasst habe. Gibt es eine einfachere Möglichkeit, MKMapRect zu erweitern?

    
Nick 09.01.2013, 18:01
quelle

3 Antworten

20

In iOS7 waren rectForMapRect: und mapRectForRect: veraltet und gehören nun zur Klasse MKOverlayRenderer . Ich würde eher empfehlen, die Methoden MapView mapRectThatFits: edgePadding: zu verwenden. Hier ist ein Beispielcode:

%Vor%

neueste Swift für 2017 ...

%Vor%     
user2285781 10.10.2013, 22:26
quelle
5

Was ist mit der Umwandlung der visibleMapRect in eine CGRect mit rectForMapRect: , das Erhalten einer neuen CGRect mit CGRectInset und das anschließende Umwandeln in MKMapRect mit mapRectForRect: ?

    
Fábio Oliveira 30.01.2013 21:05
quelle
0

Verfeinerte und korrigierte Antwort von user2285781 für Swift 4:

%Vor%     
Stunner 07.09.2017 11:55
quelle

Tags und Links