Я попытался использовать код из GoogleMapsSDKDemos, чтобы изменить размер изображения на меньший прямоугольник на экране, но он не имеет никакого эффекта. Вот мой код:Изменение размера Карт Google MapView iOS
mapView = [[GMSMapView alloc] initWithFrame: CGRectZero]; mapView.camera = [GMSCameraPosition cameraWithLatitude: 38.98549782690282 долгота: -76.94636067188021 zoom: 17];
self.view = [[UIView alloc] initWithFrame:CGRectZero];
mapView.autoresizingMask =
UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
mapView.frame = self.view.frame;
mapView.clipsToBounds = YES;
mapView.myLocationEnabled = YES;
mapView.settings.tiltGestures = NO;
mapView.settings.zoomGestures = NO;
mapView.frame = CGRectMake(0,0, 10, 25);
[self.view addSubview:self.mapView];
Это второй к последней строке, казалось бы, должны ограничить MapView только небольшая площадь, но она по-прежнему занимает весь экран.
Я просто пробовал это, и он не работал, по-видимому, мой файл GMSServices.h не имеет этого метода mapWithFrame. Я вернулся и проверил API, и если вы посмотрите [здесь] (https://developers.google.com/maps/documentation/ios/map#add_a_map), похоже, он использует класс GMMapView? Я не уверен, что вы сказали бы, но xcode не может найти метод mapWithFrame в GMSServices (и я тоже не могу) – CSStudent
Ах да, извините, я шел из этого комментария в заголовке, а не из своего собственного код. Вам нужно вызвать 'mapWithFrame' в' GMSMapView', а не 'GMSServices' (я думаю, что комментарий в заголовке неверен). Я обновил свой код выше. –
Это, похоже, не работает для меня, вы сами это пробовали? У меня есть 'smallMap = [GMSMapView mapWithFrame: CGRectMake (0,0, 10, 25) camera: camera];' где smallmap - это GMMapView в раскадровке, и он по-прежнему занимает весь экран. – CSStudent