A period of time has been in the Rush project, in the outsourcing company work is commiseration, every day overtime do not say, work is tied to the duration of the contract, a little overdue may be deducted bonuses, do not talk about these nerve-racking things, let us talk about how to call the iOS development of the iphone's own map.
Study like riding, behind. The ancients told us to continue to reflect and summarize, day thinking is fine, moon thinking is fine, the year is fine. Only by constantly trying and summarizing can we make our work and life easier and happier and better. Connected to do two big mall outsourcing projects, Smart city, search pastoral pass, spent nearly four months of time, and finally in the perfect after repeated modification. During the difficulties from needless to say, after a lot of summing up and communication it. Baidu Map has been published before the use of an article, said very detailed, here is no longer involved, to the point, we say how to call Apple's own map.
First step: Import Map File #import <MapKit/MapKit.h>
Step two: Get the latitude and longitude of the current location and destination, then open the map
Get Current Location
Mkmapitem *mylocation = [Mkmapitem mapitemforcurrentlocation];
Current Warp dimension
float Currentlatitude=mylocation.placemark.location.coordinate.latitude;
float Currentlongitude=mylocation.placemark.location.coordinate.longitude;
Cllocationcoordinate2d coords1 = Cllocationcoordinate2dmake (currentlatitude,currentlongitude);
Destination location
Coordinate.latitude=[[datasource objectforkey:@ "lat"] floatvalue];
Coordinate.longitude=[[datasource objectforkey:@ "LNG"] floatvalue];
cllocationcoordinate2d coords2 = coordinate;
IOS6 below, call Google Map
if (System_version_less_than (@ "6.0"))
{
NSString *urlstring = [[NSString alloc] initwithformat:@ "http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f &dirfl=d ", Coords1.latitude,coords1.longitude,coords2.latitude,coords2.longitude];
Nsurl *aurl = [Nsurl urlwithstring:urlstring];
Open a Web page Google Maps
[[UIApplication sharedapplication] openurl:aurl];
}
Else
Call the iOS own Apple map directly
{
The current location
Mkmapitem *currentlocation = [Mkmapitem mapitemforcurrentlocation];
Starting point
Mkmapitem *currentlocation = [[Mkmapitem alloc] Initwithplacemark:[[mkplacemark alloc] Initwithcoordinate:coords1 Addressdictionary:nil]];
Location of the destination
Mkmapitem *tolocation = [[Mkmapitem alloc] Initwithplacemark:[[mkplacemark alloc] Initwithcoordinate:coords2 Addressdictionary:nil]];
Tolocation.name = @ "Destination";
NSString *myname=[datasource objectforkey:@ "name"];
if (![ Xtomfunction Xfunc_check_strempty:myname])
{
Tolocation.name =myname;
}
Nsarray *items = [Nsarray arraywithobjects:currentlocation, tolocation, nil];
Nsdictionary *options = @{mklaunchoptionsdirectionsmodekey:mklaunchoptionsdirectionsmodedriving, Mklaunchoptionsmaptypekey: [NSNumber Numberwithinteger:mkmaptypestandard], Mklaunchoptionsshowstraffickey: @YES};
Open Apple's own map app and render a specific item
[Mkmapitem Openmapswithitems:items launchoptions:options];
}
Through these two steps can easily open the Apple with the map navigation, it feels really good, the only drawback is to open the map to get the route information consumed by mobile phone traffic is relatively large, preferably in the WiFi conditions called. If not must, as far as possible to use the gold or Baidu's own map is good.
How to call Apple's own map navigation in iOS development