Google Maps iOS SDK: Jak uzyskać dokładne współrzędne szerokości i długości geograficznej z widocznego regionu kamery?
EDIT: Jest to teraz potwierdzony błąd zto SDK
Korzystam z wersji 1.1.1.2311 Map Google Maps dla iOS SDK i szukam ograniczających szerokości i długości geograficznych widocznej mapy na ekranie.
Używam następującego kodu, aby powiedzieć mi, jaka jest bieżąca projekcja:
NSLog(@"\n%@,%@\n%@,%@\n%@,%@\n%@,%@\n",
[NSNumber numberWithDouble:mapView.projection.visibleRegion.farLeft.latitude],
[NSNumber numberWithDouble:mapView.projection.visibleRegion.farLeft.longitude],
[NSNumber numberWithDouble:mapView.projection.visibleRegion.farRight.latitude],
[NSNumber numberWithDouble:mapView.projection.visibleRegion.farRight.longitude],
[NSNumber numberWithDouble:mapView.projection.visibleRegion.nearLeft.latitude],
[NSNumber numberWithDouble:mapView.projection.visibleRegion.nearLeft.longitude],
[NSNumber numberWithDouble:mapView.projection.visibleRegion.nearRight.latitude],
[NSNumber numberWithDouble:mapView.projection.visibleRegion.nearRight.longitude]);
Po przeczytaniu nagłówków wydaje się, że nie może być aktualizowany, gdy kamera się porusza. Słusznie...
/**
* The GMSProjection currently used by this GMSMapView. This is a snapshot of
* the current projection, and will not automatically update when the camera
* moves. The projection may be nil while the render is not running (if the map
* is not yet part of your UI, or is part of a hidden UIViewController, or you
* have called stopRendering).
*/
Ale wydaje się aktualizować za każdym razem, gdy wywoływana jest metoda delegowania, więc próbowałem wydrukować współrzędne, aby je przetestować ...
Dla następujących rzeczy w moim telefonie:
Wyjście NSLog z powyższego daje mi następujące informacje:
37.34209003645947,-122.0382353290915
37.34209003645947,-122.010769508779
37.30332095984257,-122.0382353290915
37.30332095984257,-122.010769508779
Podczas drukowania tych współrzędnych za pomocąto Dostaję projekcję, która wydaje się wyłączona:
Współrzędne te są spójne we wszystkich uruchomieniach aplikacji, co prowadzi mnie do przekonania, że konsekwentnie robię coś złego, źle rozumiem, czym jest visibleRegion lub odkryłem błąd. Czy ktoś chce mi pomóc dowiedzieć się, który to jest?