Ich entwickle iOS-Anwendung einschließlich GoogleMaps. Und der Implementierungsprozess von GoogleMaps SDK für iOS wurde noch nicht abgeschlossen.
Aber ich möchte wissen, wie man GMSCamera Zoom berechnet um die gesamte Route auf der Karte anzuzeigen.
In Apple Map verwenden wir vielleicht spane. Aber GoogleMaps SDK hat keine Spanne.
Bitte geben Sie mir einen Rat.
Hier ist eine Funktion, die helfen kann, da dies den ZoomLevel von einer MKMapView berechnet, die "Google Compatible"
ist %Vor%Wenn Sie die Koordinaten greifen und diese stattdessen übergeben können, sollten Sie in Ordnung sein.
Lee Methode ist richtig, aber die Mathematik ist nicht richtig, basierend auf Google Maps ios sdk Dokument auf Zoom
Die Vergrößerung der Zoomstufe um 1 verdoppelt die Breite der Welt auf der Bildschirm. Daher ist die Breite der Welt bei der Zoomstufe N ungefähr gleich 256 * 2 ^ N, d. H. Bei Zoom-Stufe 2 ist die gesamte Welt ungefähr 1024 Punkte breit. Beachten Sie, dass die Zoomstufe keine ganze Zahl sein muss. Das Der Bereich der von der Karte erlaubten Zoomstufen hängt von einer Anzahl von Zoomstufen ab Faktoren wie Standort, Kartentyp und Bildschirmgröße.
Die Mathematik zur Berechnung des Zooms sollte
sein %Vor%Ich habe hier eine Antwort auf eine ähnliche Frage gepostet:
Wie setze ichRegion mit Google Maps sdk für iOS?
Es verwendet einen ähnlichen Ansatz zu Lees Antwort: Konvertieren Sie das lat / lon in Pixel, berechnen Sie eine Skala und dann eine Zoomstufe.
Jing, deine Mathematik ist korrekt für Längen, aber für Breitengrade muss es ein bisschen schwieriger sein. Die Mercator-Projektion behandelt Breiten und Längen unterschiedlich. Ich habe den richtigen Code hier gepostet: Ссылка
Verwenden Sie GMSCoordinateBounds. Sie können die Karte mit verschiedenen Parametern wie Koordinaten, Grenzen usw. anpassen.
GMSCoordinateBounds * Grenzen = [[GMSCoordinateBounds alloc] initWithPath: Pfad];
Tags und Links ios google-maps-sdk-ios