Открыть Get Direction с несколькими остановками на карте Google от использования объективных операций

Я использую Google Map SDK, и теперь я хочу, чтобы открыть получить направление на карте Google, где есть несколько остановок, как я нахожусь в местоположении A, и с этого я хочу перейти к местоположениям B, C, D Я могу открыть карту Google с местоположение от A до B, но не в состоянии открыть его для A до B, C, D. Как я могу это сделать, я попробовал это

NSString *str1 =[NSString stringWithFormat:@"http://maps.google.com/?saddr=%@&daddr=%@&waypoints=%@&key=%@",originString,destinationString,strWayPoints,GOOGLE_API_KEY];
if([[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]])
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str1]];
}
//str1 =
http://maps.google.com/?saddr=18.518205,73.857431&daddr=18.518205,73.857431&waypoints=via:18.518205,73.857431|via:18.552248,73.901596|via:18.629764,73.934685&key=MYKEY

2 ответа

Вам следует использовать URL-адреса Карт Google, которые предоставляют универсальный кроссплатформенный синтаксис, чтобы открывать карты в мобильных приложениях или на сайте Карт Google.

В режиме маршрутов вы можете указать пункт отправления, пункт назначения и несколько точек маршрута для вашего маршрута. Для более подробной информации посмотрите на следующую страницу:

https://developers.google.com/maps/documentation/urls/guide

Пример URL:

https://www.google.com/maps/dir/?api=1&origin=18.518205,73.857431&destination=18.518205,73.857431&waypoints=18.518205,73.857431%7C18.552248,73.901596%7C18.629764,73.934685

Надеюсь, это поможет!

Это код, который сейчас работает нормально для получения направления. Я отвечаю здесь, чтобы другие получили, как его использовать

- (IBAction)onClickNavigate:(id)sender {

NSString *strWayPoints = [NSString stringWithFormat:@"%f,%f", [[destLatArray objectAtIndex:0] doubleValue], [[destLongArray objectAtIndex:0] doubleValue]];
for(int j=0;j<destLatArray.count;j++){
    if(j > 0)
        strWayPoints = [NSString stringWithFormat:@"%@|%f,%f", strWayPoints, [[destLatArray objectAtIndex:j] doubleValue], [[destLongArray objectAtIndex:j] doubleValue]];

}
NSString *originString = [NSString stringWithFormat:@"%f,%f",[sourceLat doubleValue], [sourceLong doubleValue]];
NSString *destinationString = [NSString stringWithFormat:@"%f,%f", [[destLatArray objectAtIndex:0] doubleValue], [[destLongArray objectAtIndex:0] doubleValue]];

NSString *str = [NSString stringWithFormat:@"https://www.google.com/maps/dir/?api=1&origin=%@&destination=%@&waypoints=%@",originString,destinationString,strWayPoints];

if([[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]])
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
}
else
{
    NSLog(@"You haven't installed the google map");
}

}

Другие вопросы по тегам