So ermitteln Sie die richtige Höhe für eine MKMapCamera mit Fokus auf ein MKPolygon

Ich muss herausfinden, wie MKMapSnapshotterOptions eingerichtet wird, um eine Momentaufnahme von Luft- / Satellitenbildern zu erstellen, die einer polygonalen Region der Erde zugeordnet sind.

Das Ausfüllen der Eigenschaften 'region', 'scale', 'size' und 'mapType' ist trivial, da ich mit einem MKPolygon arbeiten muss. Der knifflige Teil ist das Einstellen der 'Kamera' - in meinem speziellen Fall verwende ich MKMapSnapshotter unabhängig von MKMapView (in der Tat nicht einmal im Haupt-Thread).

Ich würde es jedoch vorziehen, den Schnappschuss so auszurichten, dass er an die Grenzen des Polygons anpasst, basierend auf einer Überschrift ungleich Null - das heißt, der Bereich, von dem ich ein Bild mache, hat einen "Anfang" und ein "Ende" Ich möchte mich vom unteren zum oberen Rand des resultierenden Bildes orientieren. Da das Polygon im Grunde genommen niemals auf eine 0-Grad-Richtung ausgerichtet sein wird, muss ich die 'Mittelkoordinate', 'Richtung' und 'Höhe' bestimmen.

Da ich die Koordinaten des Polygons habe, kann ich die Mittelkoordinate und die gewünschte Überschrift ziemlich leicht ableiten. Die erste Koordinate des Polygons korreliert mit dem „Anfang“ der Form und die Endkoordinate (oder in meinem Fall eine andere Koordinate) korreliert bis zum Ende'.

Das Herausfinden der Höhe gestaltet sich schwieriger. Ich möchte sicherstellen, dass der Polygonbereich das Seitenverhältnis des Schnappschussbilds ausfüllt, das ich anzeigen möchte. Wie berechne ich die richtige Höhe für die MKMapCamera, ohne auf den MKMapView-Selektor 'setRegion' angewiesen zu sein?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage