美文网首页
【高德地图】iOS 开发汇总(一)

【高德地图】iOS 开发汇总(一)

作者: Ignacio焕 | 来源:发表于2019-02-25 10:13 被阅读0次

    开篇话

    前段时间一直在做高德地图相关的开发,涉及定位、导航、自定义大头针以及其他交互,总结一下以供查阅,也是第一次写,有错误的地方,欢迎大家指正。

    介绍

    高德开放平台目前开放了 iOS 地图 SDK 以及 iOS 地图 SDK 专业版两套地图SDK工具。高德地图 iOS SDK 是一套基于 iOS 7.0 及以上版本的地图应用程序开发接口,供开发者在自己的iOS应用中加入地图相关的功能,包括:地图显示(含室内、室外地图)、与地图交互、在地图上绘制、兴趣点搜索、地理编码、离线地图等功能。高德地图 iOS SDK 专业版是在 iOS SDK 已有服务的基础上,新增支持了自定义地图在线加载、自定义地图元素纹理等功能,便于开发者完成基于自身场景的更深层、更个性化地图的开发需求(PS:取自高德官网

    获取Key

    创建新应用

    1、创建应用

    进入控制台,创建一个新应用。如果之前已经创建过应用,我的应用列表中就会有显示名称以及创建时间


    根据产品需求填写名称应用和应用类型

    2、获取Key

    在创建的应用上点击添加新Key,在弹出的对话框中填写相应的资料。


    如何获取bundle ID
    NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
    

    或者


    需要注意的是: 1个KEY只能用于一个应用(多渠道安装包属于多个应用),1个Key在多个应用上使用会出现服务调用失败。当Key与所关联的bundle ID 不一致时,控制台会打印如下内容

    自动部署

    如何安装CocoaPods就不赘述了,网上有很多教程
    Podfile配置如下



    高德iOS SDK的库名如下:


    显示地图

    1.引入头文件

    在AppDelegate.h中引入头文件,代码如下:

    #import "AppDelegate.h"
    #import <AMapFoundationKit/AMapFoundationKit.h>
    @interface AppDelegate ()
    
    @end
    
    @implementation AppDelegate
    
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        [AMapServices sharedServices].apiKey = @"自己的key";
        return YES;
    }
    
    

    2.显示地图

    一般应用使用地图时都会在地图上加上相应的其他子view,所以我个人的做法就是创建一个继承自MAMapView的mapView,将子view在这个新的mapView绘制以及做一些其他的地图相关设置,以减少controller中的代码量
    在controller.m中代码如下:

    #import "ViewController.h"
    #import "AmapView.h"//继承的新mapview
    @interface ViewController ()
    @property (nonatomic, strong)AmapView *mapView;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        [self.view addSubview:self.mapView];
    }
    
    - (AmapView *)mapView {
        if (!_mapView) {
            _mapView = [[AmapView alloc]initWithFrame:self.view.bounds];
        }
        return _mapView;
    }
    
    

    编译运行后,最原始的地图效果如下:



    高德地图中还提供了地图上的其他设置比如比例尺,手势等,代码如下:

            //地图需要v4.5.0及以上版本才必须要打开此选项(v4.5.0以下版本,需要手动配置info.plist)
            [AMapServices sharedServices].enableHTTPS = YES;
            //如果您需要进入地图就显示定位小蓝点,则需要下面两行代码
            self.showsUserLocation = YES;
            self.userTrackingMode = MAUserTrackingModeFollow;
            //指南针
            self.showsCompass = NO;
            //logo位置
            self.logoCenter = CGPointMake(CGRectGetWidth(self.bounds)-55, 1000);
            //比例尺
            self.showsScale = NO;
            //旋转手势
            self.rotateEnabled= NO;
            //倾斜收拾
            self.rotateCameraEnabled = NO;
            //缩放级别
            [self setZoomLevel:12.0 animated:YES];
            //自定义蓝点
            MAUserLocationRepresentation *rep = [[MAUserLocationRepresentation alloc]init];
            rep.image = [UIImage imageNamed:@"定位点"];
            rep.showsAccuracyRing = NO;
            [self updateUserLocationRepresentation:rep];
    

    以上就是对高德地图的基本设置,如能正常运行,就可以使用了。

    未完待续!!!

    相关文章

      网友评论

          本文标题:【高德地图】iOS 开发汇总(一)

          本文链接:https://www.haomeiwen.com/subject/twecyqtx.html