iOS, Wie verwende ich GMSCoordinateBounds, um alle Markierungen der Karte anzuzeigen?
Möchte ich zeigen, all die Markierungen, die sind auf meiner Karte nach einigen Recherchen fand ich, dass es getan werden sollte, mit GMSCoordinateBounds (Google Maps SDK) ich habe gelesen, die offizielle Dokumentation über ihn, aber ich habe nicht verstanden, wie es zu benutzen und Sie umzusetzen in meinem code.
Hier ist mein code
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] init];
CLLocationCoordinate2D location;
for (NSDictionary *dictionary in array) {
location.latitude = [dictionary[@"latitude"] floatValue];
location.longitude = [dictionary[@"longitude"] floatValue];
//Creates a marker in the center of the map.
GMSMarker *marker = [[GMSMarker alloc] init];
marker.icon = [UIImage imageNamed:(@"marker.png")];
marker.position = CLLocationCoordinate2DMake(location.latitude, location.longitude);
bounds = [bounds includingCoordinate:marker.position];
marker.title = dictionary[@"type"];
marker.map = mapView_;
}
[mapView_ animateWithCameraUpdate:[GMSCameraUpdate fitBounds:bounds withPadding:30.0f]];
Keine Hilfe ?
Kommentar zu dem Problem
können Sie bitte ankreuzen, meine Antwort als angenommen?
InformationsquelleAutor der Frage Al_fareS | 2014-02-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
UPDATE:
sind Sie sicher, dass es nichts falsch bei der Sie array der Markierungen und die Koordinaten?
Ich habe versucht diesen code und funktioniert perfekt. Ich habe diese auf der viewDidAppear
Dies ist mein Ergebnis:
InformationsquelleAutor der Antwort allemattio
Swift 3 - Xcode 8
InformationsquelleAutor der Antwort Channel
Swift Lösung mit
GMSCoordinateBounds()
ohne Pfad,InformationsquelleAutor der Antwort Arpit Dongre
Die einfachste Möglichkeit, die ich gefunden habe, ist zum erstellen einer GMSMutablePath und fügen Sie die Koordinaten Ihres Marker. Dann können Sie die GMSCoordinateBounds Initialisierer initWithPath: zum erstellen der Grenzen.
Sobald Sie die Grenzen, die Sie erstellen können, die GMSCameraUpdate und verwenden Sie es zum animieren Sie die Karte, um die sichtbaren Grenzen, die alle Ihre Marker.
Zum Beispiel, wenn Sie ein array von GMSMarker:
InformationsquelleAutor der Antwort mars
InformationsquelleAutor der Antwort Dipang
Als bei Google Maps auf version 2.0.0 wenn Sie versuchen, erstellen Sie eine GMSCoordinateBounds mit dem Standard-Konstruktor GMSCoordinateBounds() und überprüfen Sie das "gültig" zu Kennzeichnen, wird false zurückgeben, und es wird nicht die animateWithCameraUpdate: move.
Swift 2.3 Lösung
InformationsquelleAutor der Antwort apinho
Sauber swift 3 version:
InformationsquelleAutor der Antwort Kasztan
Finden wir den selben code, wo jeder , aber stellen Sie sicher, dass es in viewDidAppear () - Methode
InformationsquelleAutor der Antwort Zeesha
Könnten Sie Durchlaufen Ihre map-Marker und Holen Sie sich die weiterer Punkt Osten, Westen, Norden und Süden und machen
[[GMSCoordinateBounds alloc] initWithRegion:]
InformationsquelleAutor der Antwort Davi Stuart