У меня есть приложение для iOS, которое использует Google Maps SDK для отображения карты в моем приложении.
Мне удалось отобразить карту, но я не знаю, как установить камеру или маркер в текущее местоположение пользователя.
Я жестко закодировал координаты только для того, чтобы проверить, работает ли карта, но теперь я застрял в том, как отображать текущее местоположение пользователя.
Вот мой код для центрирования камеры по координате
- (void)viewDidLoad
{
[super viewDidLoad];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.995602 longitude:-78.902153 zoom:6];
self.mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
self.mapView.myLocationEnabled = YES;
self.mapView.mapType = kGMSTypeNormal;
self.mapView.accessibilityElementsHidden = NO;
self.mapView.settings.scrollGestures = YES;
self.mapView.settings.zoomGestures = YES;
self.mapView.settings.compassButton = YES;
self.mapView.settings.myLocationButton = YES;
self.mapView.delegate = self;
self.view = self.mapView;
[self placeMarkers];
}
А вот код для отображения маркера по координатам
-(void)placeMarkers
{
GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(47.995602, -78.902153);
marker.title = @"PopUp HQ";
marker.snippet = @"Durham, NC";
marker.icon = [GMSMarker markerImageWithColor:[UIColor blueColor]];
marker.opacity = 0.9;
marker.map = self.mapView;
}
Я попытался получить текущую позицию следующим образом:
CLLocationCoordinate2D *myLocation = self.mapView.myLocation.coordinate;
но я получаю сообщение об ошибке:
Инициализация «CLLocationCoordinate2D» с выражением несовместимого типа «CLLocationCoordinate2D»
Как я могу передать текущее местоположение камере, а также маркеру?