2019独角兽企业重金招聘Python工程师标准>>>

  • 之前有做一个定位的项目,类似嘀嘀打车那样。 需要后台持续定位。

    这里选择了百度地图,不过在后台持续定位方面, 之前只是简单的设置如下:

    不过经测试发现, 这样设置完,在后台运行大概30分钟,又会被crash掉。 重新打开应用则自动恢复定位。< 喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD48cD48YnIgLz48L3A+PHA+tbHIu6Os1eKyu8rHztLDx8/r0qq1xNCnufujrMv50tTV28zawcvPwqOsyrXP1sHLuvPMqLPW0Pi2qM67oaM8L3A+PHA+19y1xMC0y7WjrL7NysfA+9PDvfjI67rzzKi6887Sw8e/ybLZv9i1xDEwt9bW06OswLTN6rPJ0rvQqcrCx+mhozwvcD48cD7OqrTvtb2z1tD4tqjOu6Osw78xMLfW1tOho9fUtq/W2NDCv6rG9Laozruho9Xi0fm+zb3ivvbOysziwcuhozwvcD48cD48YnIgLz48L3A+PHA+vt/M5cjnz8I6PC9wPjxwPjxiciAvPjwvcD48cD5BcHBEZWxlZ2F0ZS5oPGJyIC8+PC9wPjxwPjxwcmUgY2xhc3M9"brush:java;">@property (nonatomic, unsafe_unretained) UIBackgroundTaskIdentifier bgTask; 
    AppDelegate.m

    ?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    - ( void )backgroundHandler
    {
         NSLog(@ "### -->backgroundinghandler" );
         
         UIApplication* app = [UIApplication sharedApplication];
         
         bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
             
             [app endBackgroundTask:bgTask];
             bgTask = UIBackgroundTaskInvalid;
             
         }];
         
         // Start the long-running task
         dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0 ), ^{
             
             // 您想做的事情,
             // 比如我这里是发送广播, 重新激活定位
             // 取得ios系统唯一的全局的广播站 通知中心
             NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
             //设置广播内容
             NSDictionary *dict = [[NSDictionary alloc]init];
             //将内容封装到广播中 给ios系统发送广播
             // LocationTheme频道
             [nc postNotificationName:@ "LocationTheme" object:self userInfo:dict];
         });
         
    }

    ?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    - ( void )applicationDidEnterBackground:(UIApplication *)application
    {
         // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
         // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
         
         BOOL backgroundAccepted = [[UIApplication sharedApplication] setKeepAliveTimeout: 600 handler:^{ [self backgroundHandler]; }];
         
         if (backgroundAccepted)
             
         {
             NSLog(@ "backgrounding accepted" );
         }
         [self backgroundHandler];
    }

    然后在开启定位的位置,成为广播接收者,并且重新激活定位

    ?

    1
    2
    3
    4
    5
    //初始化BMKLocationService
         myLocService = [[BMKLocationService alloc]init];
         myLocService.delegate = self;
         //启动LocationService
         [myLocService startUserLocationService];

    ?

    1
    2
    3
    4
    NSNotificationCenter *nc2 = [NSNotificationCenter defaultCenter];
         
         // 成为听众一旦有广播就来调用self recvBcast:函数
         [nc2 addObserver:self selector: @selector (activeLocation:) name:@ "LocationTheme" object:nil];

    ?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    - ( void ) activeLocation:(NSNotification *)notify
    {
         [myLocService stopUserLocationService];
         //初始化BMKLocationService
         myLocService = [[BMKLocationService alloc]init];
         myLocService.delegate = self;
         //启动LocationService
         [myLocService startUserLocationService];
    }

    当然,上面的方式,可能方法比较渣,代码也写的比较乱。

    只是提供一种解决办法而已。

转载于:https://my.oschina.net/u/2603560/blog/596834

iOS开发 - 百度地图后台持续定位相关推荐

  1. 百度地图设置显示定位服务器,百度地图后台持续定位

    public class LocationServices extends Service{ //定位点信息 public LatLng latlng; private String strLocat ...

  2. IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应

    (转)IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应 IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油 ...

  3. IOS开发百度地图API

    IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油站 IOS百度地图视角跳到用户当前位置 IOS百度地图开发实时路况 IO ...

  4. IOS开发百度地图API-用点生成路线,导航,气泡响应

    原地址:http://blog.sina.com.cn/s/blog_68661bd80101k4rx.html IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发 ...

  5. 转:IOS开发百度地图API-用点生成路线,导航,气泡响应

    IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油站 IOS百度地图视角跳到用户当前位置 IOS百度地图开发实时路况 IO ...

  6. ios 开发百度地图的使用

    IOS开发百度地图API-用点生成路线,导航,气泡响应 IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油站 IOS百度地 ...

  7. Android--高德地图后台持续定位

    核心类/接口 类 接口 说明 版本 AMapLocationClient startLocation(); 启动定位 V2.0.0版本起 setLocationOption(mLocationOpti ...

  8. iOS获取高德地图实现持续定位功能

    首先,根据高德地图开发平台在Xcode里面配置相应的环境 自动部署用cocoapods,请按照http://lbs.amap.com/api/ios-location-sdk/guide/create ...

  9. iOS 开发 百度地图 在模拟器上只显示网格!

    虚拟机上不显示地图,只显示格子了,如下图: 因为模拟器上面默认得不是国内得位置,而国外得位置或者港澳台地区, 百度地图不支持,所以显示空白, 解决方法:点击模拟器-->(菜单导航栏)调试--&g ...

最新文章

  1. 你可能已经知道或者不知道的ASP.NET 2.0技巧(转载)
  2. Linux常用命令笔记2---文件管理4
  3. Java 14 可能带来什么新特性?
  4. .NET Core使用EF分页查询数据报错:OFFSET语法错误问题
  5. python基础学习11----函数
  6. C++中运算符重载的方法
  7. 解除Ubuntu系统的root登录图形界面限制
  8. [转载]iphone开发--改变UIPageControl里的小点的颜色
  9. bzoj 3196/tyvj p1730 二逼平衡树
  10. 功能测试用例不好写?来自阿里大佬的设计方法分享
  11. OpenCV图像的编解码读取
  12. 关于华为9.0系统 应用图标消失处理
  13. UE4 控制开关门基础之一
  14. opencv 二值图像的孔洞填充
  15. 微信小程序评论/留言功能,附:前端+后端代码+视频讲解!
  16. Oracle19c数据库下载及安装步骤(详细)以及连接Navicat和PLSql
  17. 能上Q不能上网解决方案
  18. 宝峰数科带你读懂数字家庭的真正内涵
  19. Java8新特性之函数式接口,呦呦呦
  20. 今天,我想为产品经理说说话

热门文章

  1. AI破解古文字登Nature封面:修复缺失文字,精确地理位置和书写时间,DeepMind哈佛谷歌多家联手开发...
  2. 跟百万人一起在快手学自动驾驶,是种怎样的体验?
  3. 高光荣教授逝世:他是新中国首位MIT计算机博士,开创数据流体系结构
  4. 争建AI算力中心热潮背后:谁在花冤枉钱?
  5. 年轻人的第一只机器狗,只要1.6万
  6. Go语言竟成恶意软件的最爱!4年来Go编写的恶意软件飙增2000%,网友:这也能怪Go?...
  7. 微软摊开 AI 高分作业,在线求抄
  8. 阿里达摩院科学家,3年造出小蛮驴!量产物流机器人,完全自动驾驶,4度电跑100公里...
  9. 免费数学神器有了手机版,再复杂的公式,拍照就能转成LaTeX
  10. 3,maven使用入门