我計算了2點(經度和緯度)之間的距離。我用distanceFromLocation:但這給了我空中距離。我畫了MKPolyline on MKMapview顯示道路路線。現在的問題是,我怎樣才能得到實際的道路距離,而不使用GOOGLE API?如何計算mkmapview上的實際道路距離?
0
A
回答
1
我得到了我的答案,它給了我實際的距離。
- (NSArray*)getRoutePointFrom:(myannotation *)origin to:(myannotation *)destination
{
NSString* sourcePoint = [NSString stringWithFormat:@"%f,%f",origin.coordinate.latitude, origin.coordinate.longitude];
NSString* destinationPoint = [NSString stringWithFormat:@"%f,%f", destination.coordinate.latitude, destination.coordinate.longitude];
NSString* apiUrlStr = [NSString stringWithFormat:@"http://maps.google.com/maps?output=dragdir&saddr=%@&daddr=%@", sourcePoint, destinationPoint];
NSURL* apiUrl = [NSURL URLWithString:apiUrlStr];
NSError *error;//saddr
NSString *apiResponse = [NSString stringWithContentsOfURL:apiUrl encoding:NSUTF8StringEncoding error:&error];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"points:\"([^\"]*)\"" options:0 error:NULL];
NSTextCheckingResult *match = [regex firstMatchInString:apiResponse options:0 range:NSMakeRange(0, [apiResponse length])];
NSString *encodedPoints = [apiResponse substringWithRange:[match rangeAtIndex:1]];
NSRegularExpression *distRegEx=[NSRegularExpression regularExpressionWithPattern:@"tooltipHtml:\"([^\"]*)\""options:0 error:NULL];
NSTextCheckingResult *distmatch=[tempregx firstMatchInString:apiResponse options:0 range:NSMakeRange(0, [apiResponse length])];
NSString *dist= [apiResponse substringWithRange:[temppmatch rangeAtIndex:0]];
NSLog(@"dist in Km: %@",dist);
return [self decodePolyLine:[encodedPoints mutableCopy]];
}
0
你can't find the distance based on roads with the Apple SDK
。如果你真正想要的,那麼你必須直接,如果你真行,只有使用的是iOS 7經過谷歌的API:
+0
kk ..但我不知道如何使用它。 –
+0
您需要導入Google MAp SDk。請仔細閱讀此文檔:** https://developers.google.com/maps/documentation/ios/?hl = fr-FR **以及其他樣本 –
2
相關問題
- 1. 道路距離,兩地之間的實際距離
- 2. mysql中的道路距離計算
- 3. 即時計算道路距離
- 4. 如何計算實際的屏幕距離jQuery?
- 5. 計算路線的距離
- 6. 如何計算距離cellID的距離?
- 7. 如何計算距離路徑的最短距離?
- 8. MKMapView路線偏離道路
- 9. 如何計算MkMapview中兩點之間的距離?
- 10. 如何計算複雜路徑上兩點之間的距離?
- 11. 如何計算路徑上兩點之間的距離?
- 12. 如何計算左上角距離(0,0)?
- 13. 如何計算距離?
- 14. 使用Google Directions API計算兩點之間的實際距離
- 15. 計算距離
- 16. 計算距離
- 17. 距離計算
- 18. 計算距離
- 19. 計算距離
- 20. 計算距離
- 21. 計算距離
- 22. 計算距離
- 23. 計算距離
- 24. 計算距離
- 25. 計算距離
- 26. 計算距離
- 27. 計算從源經緯度到目的地的道路距離
- 28. 計算基於道路的兩個位置之間的距離
- 29. 計算MKPolyline路徑的距離?
- 30. 計算經度和緯度數組的道路距離
這使用Google API!問題是不使用Google Api。 – AlexWien
由於我沒有其他選擇。因此這對我來說是最後的解決方案。 –
嚴格地說,您不允許在非Google地圖上顯示來自Google的數據,這是他們的許可協議,但我不知道這是如何實施的。 – Craig