Chcę zainicjować środek mapy w niestandardowej lokalizacji. Oto kod, który używam do inicjalizacji:Jak ustawić położenie środkowe obiektu GMSMapView zdefiniowanego w Storyboard
-(void)viewDidLoad{
[super viewDidLoad];
//mapView
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:41.0109
longitude:28.998
zoom:6];
self.mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
[self.mapView setCenter:CGPointMake(41.0109,28.998)];
}
Kiedy uruchomić ten kod, widziałem mapę skoncentrowany na Greenwich zamiast pozycji, którą dałem do kamery (41.0109,28.998).
Po debugowaniu kodu i wydrukowaniu pozycji self.mapView.camera jest to wynik: GMSCameraPosition 0x17742ee0: target:(41.011, 28.998) bearing:0.000 zoomLevel:6.000 viewingAngle:0.000 lookAhead:0.000
. Tak więc udało mi się ustawić lokalizację kamery, dlaczego otwiera ją lokalizacja Greenwich?
Edit:
Należy pamiętać, że MapView jest podrzędny (UIView), które dodałem do strony głównej i starałem się ustawiać i modyfikować położenie środka. Oto migawki z moich ujęć:
Kiedy próbuję modyfikować MapView, nie mogę ustawić lokalizację mapy. Jeśli jednak używam "widoku", który jest głównym widokiem okna, mogę z powodzeniem zmienić środek mapy.
Dlaczego to jest przyczyną?
Jak ustawić pozycję startową GMSMapView?
Edycja 2 Kod źródłowy dla tego projektu można znaleźć here
Czy zaktualizowałeś swoją najnowszą wersję GoogleMaps.framework? – Linuxios
Linuxios, używam cocoapods i tutaj jest mój PodFile: 'pod" Google-Maps-iOS-SDK "," ~> 1.6.1 "'. W pakiecie [Google Maps iOS SDK] (https://developers.google.com/maps/documentation/ios/start#getting_the_google_maps_sdk_for_ios) jest napisane, że 1.6.1 jest najnowszą wersją. – ankakusu
Spróbuj dodać wywołanie '[map startRendering]' na końcu metody. Sprawdź, czy to pomaga. – Linuxios