Próbuję użyć metody fitBounds
, aby dopasować wszystkie moje znaczniki w widoku mapy kamer Google. Więc mam moje znaczniki przechowywane w markersArray
i używam następującego kodu, aby zainicjować GMSCoordinateBounds z 1. i 2. markerem w markersArray
, który działa dobrze.GMSCoordinateBounds IncludingCoordinates nie działa poprawnie w Google Maps SDK dla iOS
Następnie, gdy próbuję dodać trzeci znacznik z markersArray
, używając includingCoordinate
, nie widzę granic aktualizujących nic ani w jego wartościach, ani na mapie, ponieważ zmienia on odpowiednio kamerę.
Dziwne jest to, że w Google maps SDK for iOS docs mówi się, że GMSCoordinateBounds "jest niezmienny i nie można go modyfikować po zbudowaniu." Czy to ma sens? Nie mogę zmienić granic po ich skonstruowaniu? Jak dodać więcej współrzędnych do granic?
Oto mój kod:
GMSCoordinateBounds *bounds= [[GMSCoordinateBounds alloc] init];
GMSMarker *marker1 = [markersArray objectAtIndex:0];
GMSMarker *marker2 = [markersArray objectAtIndex:1];
GMSMarker *marker3 = [markersArray objectAtIndex:2];
bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:marker1.position coordinate:marker2.position];
//Add the 3rd marker to the bounds
[bounds includingCoordinate:marker3.position];
GMSCameraUpdate *update = [GMSCameraUpdate fitBounds:bounds withPadding:600.0f];
[mapView_ animateWithCameraUpdate:update];
Dzięki teraz działa poprawnie. To takie oczywiste, że czuję się zawstydzony pytaniem. – Ali
Właśnie uratowałeś mój dzień! Dziękujemy – apinho
W jaki sposób Google nie zawiera metody, która odbiera tablicę lokalizacji i zwróci granice, które pasują do wszystkich? Wprowadzony teraz sposób zmusza do zainicjowania go tylko w dwóch lokalizacjach, a następnie w pętli pozostałe wywołania zawierająceCoordynację. Czy brakuje mi lepszego sposobu na zrobienie tego? – Pauls