2011-05-23 59 views
5

我需要從源到使用谷歌地圖API的目的地查找路由的數量,然後找到,那些中,哪一個是最短路線之間的路線的數量。找到兩個地方

我能夠通過使用此代碼

-(NSArray*) calculateRoutesFrom:(CLLocationCoordinate2D) f to: (CLLocationCoordinate2D) t { 
    NSString* saddr = [NSString stringWithFormat:@"%f,%f", f.latitude, f.longitude]; 
    NSString* daddr = [NSString stringWithFormat:@"%f,%f", t.latitude, t.longitude]; 

    NSString* apiUrlStr = [NSString stringWithFormat:@"http://maps.google.com/maps?output=dragdir&saddr=%@&daddr=%@", saddr, daddr]; 
    NSURL* apiUrl = [NSURL URLWithString:apiUrlStr]; 
    NSLog(@"api url: %@", apiUrl); 
    NSString *apiResponse = [NSString stringWithContentsOfURL:apiUrl]; 
    NSString* encodedPoints = [apiResponse stringByMatching:@"points:\\\"([^\\\"]*)\\\"" capture:1L]; 

    return [self decodePolyLine:[encodedPoints mutableCopy]]; 
} 

得到一條路線,但我無法得到多條路線。

我是新來使用谷歌地圖API;我跟着this tutorial

我該怎麼做?任何人都可以發佈一些示例代碼或教程嗎?

+3

如果我能找到答案谷歌,然後我不要把問題在這個論壇上,我沒有通過谷歌搜索它,然後只是我把問題在這個forums.I沒有得到爲什麼這些發現人們投我的問題。 – MaheshBabu 2011-05-25 09:44:57

回答

5

替代品(可選),如果設置爲真 ,指定路線 服務可以在響應中提供一個以上的 的替代路線。 注意,提供備用路線 可以從 服務器增加了響應時間。

The Google Directions API

您需要在您的查詢的鏈接添加替代=真

+0

非常感謝你Terente lonut亞歷山德魯,但我確實發現它的任何變化。我可以在哪裏得到多條路線。我可以如何顯示它們。 – MaheshBabu 2011-05-24 10:40:09

0

爲了讓你不得不使用standard google direction api的多條路線。通過這個API,你可以在你的API即駕駛選擇行駛模式的基礎得到不同的路線,步行或騎自行車(僅在美國騎自行車路線availabel)例如:http://maps.googleapis.com/maps/api/directions/xml?origin=srcLatitude,srcLongitude&destination=destLatitude,destLongitude&mode=driving&sensor=false
在這裏,你可以給源和目標的經度和緯度和將模式參數的值更改爲駕駛,步行或騎自行車以獲得多條路線。