ios 调用系统的地图

转载 2015年11月20日 16:55:29
NSString *string = @"http://maps.apple.com/maps?saddr=39.98,116.31&daddr=41.59,117.40";
[[UIApplication sharedApplication]  openURL:[NSURL URLWithString:string]];

ios6以下我们一般用google地图来导航,但ios6中调用会有点问题,会打开web浏览器再询问之类的,不直观友好。所以在ios6中建议直接用apple map。本来调用apple map应该和调用google map类似,但使用:

http://maps.apple.com/maps?saddr=%f,%f&daddr=%f,%f 会提示无法定位,不知道为什么?

使用maps://saddr=%f,%f&daddr=%f,%f 会找不到当前位置,也不清楚原因?

不过还是找到了解决方法,如下(包括两种地图调用方式)

但是有时候会有问题
if (SYSTEM_VERSION_LESS_THAN(@”6.0”)) { // ios6以下,调用google map
NSString *urlString = [[NSString alloc]
initWithFormat:@”http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f&dirfl=d“,
cutLat,cutLon,stationLat,stationLon];
NSURL *aURL = [NSURL URLWithString:urlString];
[urlString release];
[[UIApplication sharedApplication] openURL:aURL];
} else { // 直接调用ios自己带的apple map
CLLocationCoordinate2D to;
to.latitude = stationLat;
to.longitude = stationLon;
MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];
MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[[MKPlacemark alloc] initWithCoordinate:to addressDictionary:nil] autorelease]];
toLocation.name = @”Destination”;
[MKMapItem openMapsWithItems:[NSArray arrayWithObjects:currentLocation, toLocation, nil] launchOptions:[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:MKLaunchOptionsDirectionsModeDriving, [NSNumber numberWithBool:YES], nil] forKeys:[NSArray arrayWithObjects:MKLaunchOptionsDirectionsModeKey, MKLaunchOptionsShowsTrafficKey, nil]]];
[toLocation release];
}

define

SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice
currentDevice]
systemVersion]
compare:v
options:NSNumericSearch] ==
NSOrderedAscending)

文章链接:http://blog.sina.com.cn/s/blog_9c3c519b010146py.html

iOS 调用地图导航

转自:http://www.cnblogs.com/langtianya/p/4006588.html 注意:本文章下的代码有个别变量未知,所以是不能直接跑通的,我也是转别人的 在IO...
  • gf771115
  • gf771115
  • 2015年01月09日 14:40
  • 17674

iOS 调用地图导航

链接:http://blog.sina.com.cn/s/blog_945590aa01019dc2.html 在IOS6.0系统后,苹果自己绑定了自家的地图包,因此兼容IOS5.0与IOS6.0地图...
  • u011011341
  • u011011341
  • 2013年07月03日 13:54
  • 5283

iOS 调起地图App进行导航(百度,高德,系统自带高德)URL API方式

在开发中需要用到地图。有两种方法,一种是导入地图 (百度,高德)地图 SDK,一种是使用 URL  API。 但是需要用到一些高级功能的时候,如果使用 SDK 开发,就是一件折磨人的事情。 SDK 还...
  • qq_26598821
  • qq_26598821
  • 2016年04月07日 17:40
  • 13500

IOS实现应用内打开第三方地图app进行导航

用过微信的应该都知道这个功能,对方发一个位置给你,点进去地图展示对方跟你的当前位置,界面提供了选择各个地图应用进行导航,更好这次需求也要搞这个功能。 这个功能实现不难,个人感觉比应用内嵌入第三方地图导...
  • a416863220
  • a416863220
  • 2016年04月22日 16:00
  • 11856

iOS 系统自带地图 基本实现

CLLocationManager 标准定位
  • bellazhouyi
  • bellazhouyi
  • 2015年12月10日 22:16
  • 534

iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话等)

iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话) 在程序中调用系统自带的应用,直接调用safar来打开一个网页,如下是一个简单的使用: - (BOOL)appli...
  • msyqmsyq
  • msyqmsyq
  • 2016年02月24日 08:51
  • 1060

iOS 系统地图实现及定位

1:添加库CoreLocation.framework,MApKit.framework; 2:@property (nonatomic, strong) CLLocationManager *lo...
  • darongzi1314
  • darongzi1314
  • 2015年06月24日 17:11
  • 684

iOS开发—跳转方式实现地图导航功能

手机上的导航方式,分应用内导航和应用外导航。应用内导航是指使用地图服务提供的SDK(如高德,百度等等),直接将导航功能嵌入到我们自己的APP内部。但是这个方案接入要一定的时间,还会增加APP的内存占用...
  • Alexander_Wei
  • Alexander_Wei
  • 2016年03月05日 16:33
  • 2943

IOS 调用第三方地图APP导航

在开发中调用第三方APP进行路径规划,1.调用百度地图APP、2.调用高德地图APP 、3.调用苹果自带地图APP...
  • qq_30608949
  • qq_30608949
  • 2016年08月17日 18:00
  • 1399

swift开发笔记28 使用系统自带地图

用系统地图替换百度地图framework
  • baixiaozhe
  • baixiaozhe
  • 2016年04月01日 10:47
  • 1323
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios 调用系统的地图
举报原因:
原因补充:

(最多只允许输入30个字)