Я не вижу карту при использовании GMSPlacePickerViewController IOS - PullRequest
0 голосов
/ 03 сентября 2018

Изображение моего экрана Я хочу показать карту со списком мест. Я создаю необходимые API, и я добавил их в свой AppDelegate.m. Затем я реализовал этот код в моем контроллере вида:

 - (void)location
{
    GMSPlacePickerConfig *config = [[GMSPlacePickerConfig alloc] initWithViewport:nil];
    GMSPlacePickerViewController *placePicker = [[GMSPlacePickerViewController alloc] initWithConfig:config];
    placePicker.delegate = self;
    [self presentViewController:placePicker animated:YES completion:nil];
}

- (void)placePicker:(GMSPlacePickerViewController *)viewController didPickPlace:(GMSPlace *)place {
    [viewController dismissViewControllerAnimated:YES completion:nil];

    NSLog(@"Place name %@", place.name);
    NSLog(@"Place address %@", place.formattedAddress);
    NSLog(@"Place attributions %@", place.attributions.string);
}

- (void)placePickerDidCancel:(GMSPlacePickerViewController *)viewController {
    [viewController dismissViewControllerAnimated:YES completion:nil];

    NSLog(@"No place selected");
}

Я получаю GMSPlacePickerViewController, но без карты под моими булавками. Есть идеи?

1 Ответ

0 голосов
/ 09 ноября 2018

Когда вы инициализируете placePickerConfig с окном просмотра: nil, по умолчанию используется текущее местоположение пользователя. Убедитесь, что у вас есть местоположение пользователя, прежде чем делать все это. Протестируйте карту, указав постоянные координаты карты при инициализации GMSPlacePickerConfig следующим образом:

let center = CLLocationCoordinate2DMake(-33.86, 151.20)
let northEast = CLLocationCoordinate2DMake(center.latitude + 0.001, center.longitude + 0.001)
let southWest = CLLocationCoordinate2DMake(center.latitude - 0.001, center.longitude - 0.001)
let viewport = GMSCoordinateBounds(coordinate: northEast, coordinate: southWest)

затем инициализация placePickerConfig с окном просмотра. Я использовал swift, так как не знаю obj-c, но вы можете легко конвертировать его. Если это оказывается проблемой, вам нужно сначала получить координаты пользователя

...