要從MKRoute
獲得多段線座標,請使用getCoordinates:range:
方法。
該方法位於MKPolyline
繼承的MKMultiPoint
類中。
這也意味着這適用於任何多段線 - 無論它是由您還是由MKDirections
創建。
您分配一個足夠大的C數組來保存所需的座標數並指定範圍(例如從0開始的所有點)。
例子:
//route is the MKRoute in this example
//but the polyline can be any MKPolyline
NSUInteger pointCount = route.polyline.pointCount;
//allocate a C array to hold this many points/coordinates...
CLLocationCoordinate2D *routeCoordinates
= malloc(pointCount * sizeof(CLLocationCoordinate2D));
//get the coordinates (all of them)...
[route.polyline getCoordinates:routeCoordinates
range:NSMakeRange(0, pointCount)];
//this part just shows how to use the results...
NSLog(@"route pointCount = %d", pointCount);
for (int c=0; c < pointCount; c++)
{
NSLog(@"routeCoordinates[%d] = %f, %f",
c, routeCoordinates[c].latitude, routeCoordinates[c].longitude);
}
//free the memory used by the C array when done with it...
free(routeCoordinates);
根據不同的航線上,成百上千的座標進行製備。
對上!謝謝!作品! – zumzum