MKPointAnnotation
マップ上の単一のポイント (ユーザーの場所以外)を持つマップを作成しました。この時点までの運転ルートを取得するために必要な既存のコードを修正する方法を見つけようとしています。
これは、アプリケーションの早い段階で使用するコードです。アプリケーションのこの初期の時点で、CLPlaceMark を提供する次のものがあります。
[geocoder geocodeAddressString:location
completionHandler:^(NSArray* placemarks, NSError* error){
if (placemarks && placemarks.count > 0) {
CLPlacemark *topResult = [placemarks objectAtIndex:0];
道順の収集:
MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];
[request setSource:[MKMapItem mapItemForCurrentLocation]];
MKPlacemark *mkDest = [[MKPlacemark alloc] initWithPlacemark:topResult];
[request setDestination:[[MKMapItem alloc] initWithPlacemark:mkDest]];
[request setTransportType:MKDirectionsTransportTypeWalking]; // This can be limited to automobile and walking directions.
[request setRequestsAlternateRoutes:NO];
MKDirections *directions = [[MKDirections alloc] initWithRequest:request];
[directions calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse *response, NSError *error) {
if (!error) {
for (MKRoute *route in [response routes]) {
[self.mapView addOverlay:[route polyline] level:MKOverlayLevelAboveRoads]; // Draws the route above roads, but below labels.
// You can also get turn-by-turn steps, distance, advisory notices, ETA, etc by accessing various route properties.
}
}
}];
問題
問題は、後で にしかアクセスできないように見えることですself.mapView.annotations
。にアクセスできますが、 の には にアクセスするMKPointAnnotation
必要があります。CLPlacemark
setDestination
MKDirectionsRequest
CLPacemark
問題は、からを取得するにはどうすればよいかMKPointAnnotation
、またはその要件なしで単一のポイントへの道順を取得する別の方法はありますか? ありがとう