Открыть 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");
}
}