在ios6中调用苹果地图用于导航
2013-03-20 14:51
525 查看
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 会找不到当前位置,也不清楚原因?
不过还是找到了解决方法,如下(包括两种地图调用方式):
记得加上:
如果不想使用苹果自带的地图的话,也可以使用第三方的地图,如百度;
百度地图的URI API:http://developer.baidu.com/map/uri-intro.htm#idmykey2
使用如下:
其他的如高德、搜狗、图吧等没有找到对应的URI API。
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)
如果不想使用苹果自带的地图的话,也可以使用第三方的地图,如百度;
百度地图的URI API:http://developer.baidu.com/map/uri-intro.htm#idmykey2
使用如下:
baidumap://map/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving®ion=西安 //调起百度PC或Web地图,展示“西安市”从(34.264642646862,108.95108518068 )“我家”到“大雁塔”的驾车路线 注意调用前,需要判断是否已安装百度地图: 使用 if ([[UIApplicationsharedApplication] canOpenURL:[NSURLURLWithString:@"baidumap://map/"]]){ }
其他的如高德、搜狗、图吧等没有找到对应的URI API。
相关文章推荐
- 在ios6中调用苹果地图用于导航
- 在ios6中调用苹果地图用于导航
- 在ios6中调用苹果地图用于导航
- 在ios6中调用苹果地图用于导航 (地图开发)
- 在ios6中调用苹果地图用于导航 (地图开发)
- 在ios6中调用苹果地图用于导航
- 在ios6中调用苹果地图用于导航 (地图开发)
- ios开发中如何调用苹果自带地图导航
- ios开发中如何调用苹果自带地图导航
- ios开发中如何调用苹果自带地图导航
- 类似美团的iOS地图定位及调用苹果系统导航
- ios开发中如何调用苹果自带地图导航
- iOS6苹果地图实用开发
- Android 实现点击按钮 调用手机外部地图导航
- 调用地图并带有导航功能的两种最简单方式
- iOS定位服务与地图开发(5)---使用程序外地图之调用iOS 6苹果地图
- iOS 调用地图导航
- iOS调用地图导航
- iOS.定位服务与地图应用.06.调用iOS苹果地图
- iOS开发—调用第三方地图导航