iOS开发经验地图iOS 开发

iOS调用高德,百度,苹果自带地图进行导航

2017-08-15  本文已影响1569人  天那边灬王志豪

      由于考虑到,APP包的大小。在做导航的时候,我们没有必要,把高德或者百度等第三方sdk放到项目来进行集成。不仅费时而且费力,现在网上关于三方APP导航的文章太多。这里不再赘述太多。

先看下效果图:

选择导航的APP 苹果自带高德地图 高德导航 百度导航

    首先我们需要配置一些白名单。如下截图:

白名单

info.plist添加LSApplicationQueriesSchemes,设置为Array。添加对应的白名单;

这里以高德,百度为例,高德:iosamap百度:baidumap;设置好以后就可以开始代码部分。

代码部分具体步骤如下。不想看的同学,直接下载demo。demo具体实现都MapTool工具类中写好。可直接使用下面的方法。

/**

调用三方导航

@param coordinate经纬度

@param name地图上显示的名字

@param tager当前控制器

*/

- (void)navigationActionWithCoordinate:(CLLocationCoordinate2D)coordinate WithENDName:(NSString*)name tager:(UIViewController*)tager;

      要进行导航首先要知道终点的经纬度。

      导入#import<MapKit/MapKit.h>。

定义一个CLLocationCoordinate2D属性,包含你目的地的经纬度。

@property(nonatomic,assign)CLLocationCoordinate2D   coordinate;

这里假设位置为self.coordinate=CLLocationCoordinate2DMake(34.72,113.92);

拿到位置,就可以进行导航了

首先是苹果自带的高德简版地图:

代码就这么多

MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];

MKMapItem *tolocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coordinate addressDictionary:nil]];

tolocation.name = map_title;

[MKMapItem openMapsWithItems:@[currentLocation,tolocation]launchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,

MKLaunchOptionsShowsTrafficKey:[NSNumber numberWithBool:YES]}];

高德地图:

NSString *urlsting =[[NSString stringWithFormat:@"iosamap://navi?sourceApplication= &backScheme= &lat=%f&lon=%f&dev=0&style=2",coordinate.latitude,coordinate.longitude]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

[[UIApplicationsharedApplication]openURL:[NSURL URLWithString:urlsting]];

百度地图:

NSString *urlsting =[[NSString stringWithFormat:@"baidumap://map/direction?origin={{我的位置}}&destination=latlng:%f,%f|name=目的地&mode=driving&coord_type=gcj02",coordinate.latitude,coordinate.longitude] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlsting]];

到这里三方App导航就已经完成。demo在上面。没看到的朋友,看这里Demo下载

上一篇下一篇

猜你喜欢

热点阅读