iOS百度地图SDK之实时绘制轨迹(后台仍执行)

本文重点介绍如何在iOS应用中实现实时绘制轨迹功能,即使在锁屏或后台运行时也能持续绘制。通过配置特定的后台模式,应用可以在后台有10分钟的运行时间来处理数据。苹果允许特定类型的应用开启后台模式,但AppStore会严格审核确保符合规定。
摘要由CSDN通过智能技术生成
首先,对于百度地图SDK的配置和环境搭建就不做说明,需要的人可以博客中另一篇文章看 《iOS百度地图SDK基本使用》 ,本文的重点在于实现实时绘制轨迹的功能,并且对细节进行处理和优化

1、在AppDelegate.m文件中
#import "AppDelegate.h"
// BMapKit.h代表导入了所有的头文件
#import <BaiduMapAPI/BMapKit.h>
@interface AppDelegate ()<BMKGeneralDelegate>
{
    BMKMapManager *mapManager;
}
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 要使用地图,首先需要初始化和启动BMKMapManager
    mapManager = [[BMKMapManager alloc]init];
    // 填入验证码, 如需要使用网络和授权验证服务,则需要设置代理信息
    BOOL ret = [mapManager start:@"在这里填入的是密钥中的安全码" generalDelegate:nil];
    if (!ret) {
        NSLog(@"地图管理器初始化失败");
    }
    else{
        NSLog(@"初始化成功");
    }
    return YES;
}


2、在ViewController.m文件中
#import "ViewController.h"
#import <BaiduMapAPI/BMapKit.h>

#define normalLocationTag 1
#define compassLocationTag 2

@interface ViewController () <BMKLocationServiceDelegate , BMKMapViewDelegate>
{
    BMKMapView *mapView;
    BMKLocationService *locationService;
    // 用于手动验证
    CLLocationManager *locationManager;
    // 用于记录经过的点
    NSMutableArray *locationPoint;
    // 在地图上绘制的折线
    BMKPolyline *routeLine;
    // 中间变量->location类型(地理位置)
    CLLocation *currentLocation;
}
@end

在viewDidLoad中将两个初始化体现出来
- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 1、所有的初始化操作
    [self initObjects];
    
    // 2、所有的地图初始操作
    [self operationForMap];
}

初始化操作的封装后的方法
- (void)initObjects
{
    // 初始化mapView
    mapView &
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值