অ্যাপল অফিশিয়াল উপায় এখানে:
// Check for iOS 6
Class mapItemClass = [MKMapItem class];
if (mapItemClass && [mapItemClass respondsToSelector:@selector(openMapsWithItems:launchOptions:)])
{
// Create an MKMapItem to pass to the Maps app
CLLocationCoordinate2D coordinate =
CLLocationCoordinate2DMake(16.775, -3.009);
MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:coordinate
addressDictionary:nil];
MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:placemark];
[mapItem setName:@"My Place"];
// Pass the map item to the Maps app
[mapItem openInMapsWithLaunchOptions:nil];
}
আপনি যদি গাড়ীটিতে ড্রাইভিং বা হাঁটার নির্দেশনা পেতে চান তবে আপনি অ্যারেতে একটি mapItemForCurrentLocation
সহ অন্তর্ভুক্ত করতে পারেন এবং লঞ্চ অপশনগুলি যথাযথভাবে সেট করতে পারেন।MKMapItem
+openMapsWithItems:launchOptions:
// Check for iOS 6
Class mapItemClass = [MKMapItem class];
if (mapItemClass && [mapItemClass respondsToSelector:@selector(openMapsWithItems:launchOptions:)])
{
// Create an MKMapItem to pass to the Maps app
CLLocationCoordinate2D coordinate =
CLLocationCoordinate2DMake(16.775, -3.009);
MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:coordinate
addressDictionary:nil];
MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:placemark];
[mapItem setName:@"My Place"];
// Set the directions mode to "Walking"
// Can use MKLaunchOptionsDirectionsModeDriving instead
NSDictionary *launchOptions = @{MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeWalking};
// Get the "Current User Location" MKMapItem
MKMapItem *currentLocationMapItem = [MKMapItem mapItemForCurrentLocation];
// Pass the current location and destination map items to the Maps app
// Set the direction mode in the launchOptions dictionary
[MKMapItem openMapsWithItems:@[currentLocationMapItem, mapItem]
launchOptions:launchOptions];
}
আপনি তার else
পরে একটি বিবৃতিতে আপনার মূল আইওএস 5 এবং নিম্ন কোড সংরক্ষণ করতে পারেন if
। মনে রাখবেন যে আপনি যদি openMapsWithItems:
অ্যারে আইটেমগুলির ক্রমটি বিপরীত করেন , আপনি স্থানাঙ্ক থেকে আপনার বর্তমান অবস্থানের দিকনির্দেশ পাবেন । আপনি সম্ভবত MKMapItem
বর্তমান অবস্থানের মানচিত্র আইটেমের পরিবর্তে একটি বিল্ডিং পাস করে যে কোনও দুটি অবস্থানের মধ্যে দিকনির্দেশ পেতে এটি ব্যবহার করতে পারেন । আমি এটা চেষ্টা করিনি।
শেষ অবধি, আপনার যদি এমন কোনও ঠিকানা থাকে (একটি স্ট্রিং হিসাবে) যার দিকে আপনি দিকনির্দেশ চান তবে, জিওকোডারটি কোনও MKPlacemark
উপায় তৈরি করতে ব্যবহার করুন CLPlacemark
।
// Check for iOS 6
Class mapItemClass = [MKMapItem class];
if (mapItemClass && [mapItemClass respondsToSelector:@selector(openMapsWithItems:launchOptions:)])
{
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:@"Piccadilly Circus, London, UK"
completionHandler:^(NSArray *placemarks, NSError *error) {
// Convert the CLPlacemark to an MKPlacemark
// Note: There's no error checking for a failed geocode
CLPlacemark *geocodedPlacemark = [placemarks objectAtIndex:0];
MKPlacemark *placemark = [[MKPlacemark alloc]
initWithCoordinate:geocodedPlacemark.location.coordinate
addressDictionary:geocodedPlacemark.addressDictionary];
// Create a map item for the geocoded address to pass to Maps app
MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:placemark];
[mapItem setName:geocodedPlacemark.name];
// Set the directions mode to "Driving"
// Can use MKLaunchOptionsDirectionsModeWalking instead
NSDictionary *launchOptions = @{MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeDriving};
// Get the "Current User Location" MKMapItem
MKMapItem *currentLocationMapItem = [MKMapItem mapItemForCurrentLocation];
// Pass the current location and destination map items to the Maps app
// Set the direction mode in the launchOptions dictionary
[MKMapItem openMapsWithItems:@[currentLocationMapItem, mapItem] launchOptions:launchOptions];
}];
}
currentLocationMapItem
।