0

我的屏幕图像 我想显示带有地点选择器的地图。我创建了所需的 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 但在我的引脚下没有地图。有任何想法吗?

4

1 回答 1

0

当您使用 viewport: nil 初始化 placePickerConfig 时,它默认为用户的当前位置。在执行所有这些操作之前,请确保您拥有用户的位置。在初始化 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,但你可以轻松地转换它。如果这是您需要先获取用户坐标的问题

于 2018-11-09T15:31:41.370 回答