Как я могу открыть карты Google в поповере в моем приложении для iPad? - PullRequest
0 голосов
/ 01 апреля 2012

Я не могу понять, как открыть карты Google в всплывающем окне в моем приложении для ipad.

В настоящее время все, что я получаю, это пустой всплывающий окно и местоположение, открывающееся в сафари.

Вот мой код: -

MapViewController *map = [[MapViewController alloc] init];
UITableView *cell = [tableView cellForRowAtIndexPath:indexPath];

map.stringURL = [NSString stringWithFormat:@"http://maps.google.co.in/maps?q="];
map.stringURL = [map.stringURL stringByAppendingString:[arr objectAtIndex:indexPath.section]];
map.stringURL = [map.stringURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString:map.stringURL];
[[UIApplication sharedApplication] openURL:url];

popover = [[UIPopoverController alloc] initWithContentViewController:map];
popover.popoverContentSize = CGSizeMake(250, 250);
[popover presentPopoverFromRect:[cell frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

Ответы [ 2 ]

1 голос
/ 01 апреля 2012

Вы делаете почти все правильно. Но вы отправляете URL не на тот объект.

В вашем mapviewcontroller вы можете иметь UIWebView и установить URL этого веб-просмотра в URL, который вы только что создали.

Здесь вы просите safari запустить и отобразить карты, действительно выходя из приложения, чтобы сделать это.

Что было бы даже лучше, и больше похоже на Mapkit, так это отображать вид карты вместо карты внутри веб-вида. Я советую вам взглянуть на документацию по mapkit и посмотреть пример MapCallouts от Apple, который дает хороший обзор.

0 голосов
/ 01 апреля 2012

Если вы используете раскадровку, вы можете просто создать свою карту в новом контроллере представления, а затем подключить предыдущий вид к новому представлению с помощью карты Google с опцией «popover».Надежда может решить вашу проблему.

...