Google maps в UIWebview показывает маршруты, а не карту напрямую - PullRequest
4 голосов
/ 11 июля 2011

Я загружаю карты Google в UIWebview, предоставляя координаты широты и долготы для источника и пункта назначения. Но проблема в том, что он показывает маршруты проезда, когда он загружается. Если мы хотим увидеть карту, то мы должны нажать на кнопке карты, расположенной рядом с адресом. Мне нужно напрямую показывать карту вместо проезда, когда загружается веб-представление. Может кто-нибудь сказать мне, как мне этого добиться.

 UIWebView *webView=[[UIWebView alloc]initWithFrame:webViewRect];
                webView.delegate=self;
                webView.scalesPageToFit=YES;

                CLLocationCoordinate2D start = { 34.052222, -118.243611 };
                CLLocationCoordinate2D destination = { 37.322778, -122.031944 };        
                //NSString *urlString=@"http://maps.google.co.in/";

                NSString *googleMapsURLString = [NSString stringWithFormat:@"http://maps.google.com/?saddr=%1.6f,%1.6f&daddr=%1.6f,%1.6f",
                                                 start.latitude, start.longitude, destination.latitude, destination.longitude];
                NSLog(@"URL string-----> %@",googleMapsURLString);



                NSURL *url=[NSURL URLWithString:googleMapsURLString];
                NSURLRequest *requestObj=[NSURLRequest requestWithURL:url];
                [webView loadRequest:requestObj];
                [self.view addSubview:webView];

Также я хотел бы знать, как передать URL, если мне нужно перейти из, скажем, места А в В и из В в С.

Ответы [ 3 ]

9 голосов
/ 25 августа 2011

Просто измените строку URL

NSString *googleMapsURLString = [NSString stringWithFormat:@"http://maps.google.com/?saddr=%1.6f,%1.6f&daddr=%1.6f,%1.6f", start.latitude, start.longitude, destination.latitude, destination.longitude];

с кодом ниже

NSString *googleMapsURLString = [NSString stringWithFormat:@"http://maps.google.com/?saddr=%1.6f,%1.6f&daddr=%1.6f,%1.6f&output=embed",start.latitude, start.longitude, destination.latitude, destination.longitude];

Единственное, что добавлено - это output=embed, который заставляет сеть открывать карту напрямую, не открывая экран, который запрашивает заполненное поле ввода для источника и назначения.

Для получения дополнительных разъяснений вы также можете проверить все параметры, которые используются в карте Google, из Параметры карты Google

Выше будет решен ваш первый запрос.

А что касается второго запроса то есть я также хотел бы знать, как передать URL, если мне нужно перейти из, скажем, места A в B и из B в C. Извините, не знаю

1 голос
/ 14 ноября 2013
    NSString *ll = [NSString stringWithFormat:@"%f,%f",
                        self.placemark.location.coordinate.latitude,
                        self.placemark.location.coordinate.longitude];
    ll = [ll stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSString *url = [NSString stringWithFormat:@"http://maps.google.com/?q=%@", ll];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

    [self.tableView deselectRowAtIndexPath:indexPath animated:NO];
0 голосов
/ 07 августа 2012

При просмотре документации Параметры карты Google , связанной выше, я наткнулся на ответ на вторую часть этого вопроса.

Также я хотел бы знать, какЯ передаю URL, если мне нужно перейти от, скажем, места A к B и от B к C.

Часть пространства параметров Directions , кажется, позволяет нескольким адресатам бытьпоследовательно маршрутизируется путем добавления предложений «+ to:» к компоненту daddr аргументов запроса.

Например:

https://maps.google.com/maps?saddr=Ferry+Plaza+SF&daddr=Coit+Tower+to:Union+Square

показывает маршрут, начинающийся в Ferry Plaza в Сан-Франциско, который затем идет в Койт-Тауэр, затем на Юнион-сквер, в таком порядке.

Прочтите о параметре 'daddr =' в вышеупомянутом разделе "Направления" этой вики для получения дополнительной информации.

В общем, вы можете выяснить, как должны выглядеть URL-адреса Карт Google, с помощью проверки параметров.Например:

  • Перейдите на maps.google.com и запросите карту с интересующими вас маршрутами, пунктами назначения и т. Д.
  • Если у вас есть карта, которая выглядитКак и то, что вы хотите, нажмите на значок ссылки (выглядит как цепочка), чтобы получить копию URL, который соответствует параметрам, которые вы указали.
  • Вставьте этот URL в адресную строку браузера.
  • Продолжите анализ параметров из строки запроса, чтобы определить, какие части соответствуют тому, что на карте.
  • Перекрестная ссылка со страницами, такими как ссылка на mapki.com выше, если вы не уверены, что делает параметр.

Вы должны быть в состоянии вывести формулировку новых видовзапросы с использованием этого процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...