zoukankan      html  css  js  c++  java
  • 地图类

    1、在info.plist文件中新增加两个键值对,Key分别为:
    NSLocationWhenInUseUsageDescription
    NSLocationAlwaysUsageDescription

    这两个Key对应的Value都为字符串,前者用来增加用户使用GPS时附加在提示框上的友好提示“类似允许xxx使用当前定位信息等等”,后者意为在后台使用GPS时用户提示信息(iOS8才有),这个百度官方在SDK使用时有特别说明。

    2、定位时会出现没有返回位置信息的信息,调用startUserLocationService时代理方法didUpdateUserLocation:没有返回位置信息,而在didFailToLocateUserWithError:中返回了错误信息,xCode6上编译就会出现,也有说在iPhone6上 会出现,其实并不完全对,最靠谱的说法是在ios8及以上版本都会出现,因为这个问题本质与iOS版本相关,与硬件及开发环境无直接关联(一个本人未去证 实的消息,高德地图也存在类似情况),其根本原因百度地图论坛里有网友已经解释了,与ios8的授权有关,知道这点就可以了不用细讲。

    2.2、解决方案:在开启百度地图之前先调用下面代码(定义一个全局变量,否则提示会闪退)

    1. @property (nonatomic, strong) CLLocationManager *locationMgr;
    复制代码
    1.     if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8) {
    2.         //由于IOS8中定位的授权机制改变 需要进行手动授权
    3.         self.locationMgr = [[CLLocationManager alloc] init];
    4.         //获取授权认证
    5.         [self.locationMgr requestAlwaysAuthorization];
    6.         [self.locationMgr requestWhenInUseAuthorization];
    7.     }
    复制代码


    2.3、到上面为止,相信很多泡论坛的网友已经早看过类似的贴子了,不好使,该报错的依旧报错,其实问题已经解决了80%,还差一点点,可能的原因如下:
    A、退出模拟器,重新编译运行(有效!)
    B、Clean工程,删除App,重新编译运行(效果不明显)
    C、还原模拟器所有设置,恢复初始值(有效!)
    D、删除xCode缓存目录及文件(参考:http://bbs.yusian.com/thread-8315-1-2.html
    E、Clean工程,还原模拟器,删除缓存文件目录,退出模拟器,再重新编译运行(可行性99%,强力推荐!!)
    F、如果是真机,设置--通用--还原--还原位置与隐私

    2.4、值得注意的是,如果没有还原模拟器真机还原位置隐私,位置坐标信息无法返回,但新安装的机器是OK的,所以一定要还原!!

  • 相关阅读:
    SQL存储过程:取出自定义条数的数据
    删除新闻类别的SQL触发器代码!
    文字上下滚动
    bcp生成excel文件优化方案
    Flickr.net傻瓜教程(一)
    关于jquery的ajax编码的另类解决方案,巨简便
    Flickr.net傻瓜教程(三)打造自己的图片搜索引擎2
    Flickr.net傻瓜教程(二)
    PowerDesigner对列增加注释
    Flickr.net傻瓜教程(三)打造自己的图片搜索引擎
  • 原文地址:https://www.cnblogs.com/bugismyalllife/p/4815793.html
Copyright © 2011-2022 走看看