I am trying to draw route between two location. For that i have Two CLLocation (startPoint ,endPoint). After MKReverseGeocoder of this two location I got out put like this.
- (void)findAddress{
geoCoder1 = [[MKReverseGeocoder alloc] initWithCoordinate:startPoint.coordinate];
geoCoder1.delegate = self;
[geoCoder1 start];
geoCoder2 = [[MKReverseGeocoder alloc] initWithCoordinate:endPoint.coordinate];
geoCoder2.delegate = self;
[geoCoder2 start];
}
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark
{
if(geocoder==geoCoder1){
NSMutableDictionary *cplace1=[[[NSMutableDictionary alloc]initWithDictionary:[placemark addressDictionary]] autorelease];
NSLog(@"The MKReverseGeocoder Start Point Address %@", cplace1 );
}else{
NSMutableDictionary *cplace2=[[[NSMutableDictionary alloc]initWithDictionary:[placemark addressDictionary]] autorelease];
NSLog(@"The MKReverseGeocoder End Point Address %@", cplace2 );
}
}
Out put:-
The MKReverseGeocoder Start Point Address {
City = Bangalore;
Country = India;
CountryCode = IN;
FormattedAddressLines = (
"Grant Rd, Sampangi Rama Nagar",
"Bangalore, Karnataka",
India
);
State = Karnataka;
Street = "Grant Rd";
SubAdministrativeArea = "Bengaluru Rural";
SubLocality = "Sampangi Rama Nagar";
Thoroughfare = "Grant Rd";
}
The MKReverseGeocoder End Point Address {
Country = India;
CountryCode = IN;
FormattedAddressLines = (
"NH47 Bi - Rd",
"Ernakulam, Kerala",
India
);
State = Kerala;
Street = "NH47 Bi - Rd";
SubAdministrativeArea = Ernakulam;
Thoroughfare = "NH47 Bi - Rd";
}
Now i want to retrieve route points between this two location, For that i sent NSURLRequest like this.
- (void)updateRoute {
NSURLRequest *request=[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:
@"http://maps.googleapis.com/maps/api/directions/json?origin=%@&destination=%@&mode=%@&sensor=false", startLocation,endLocation,routeMode] ]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
}
The problem was i want to pass startLocation and endLocation to NSURLRequest. So which values i should assign startLocation, and endLocation from MKReverseGeocoder delegate return(cplace1 and cplace2)?
It looks like you already have the start and end locations as
CLLocationobjects, so use the values forcoordinate(which is aCLLocationCoordinate2D) in those to pass to Google.The startPoint and endPoint’s
CLLocationCoordinate2Dboth contain alatitudeandlongitude, which are inCLLocationDegreestypes.CLLocationDegreesis really a double, so you can put it into a formatted string with%f