ios 百度地图 定位 为什么自己的位置没有小圆点图标

Xcode 7.0以后 iOS 9.0以后 最新百度地图 详细使用 - 他们都叫我梁子
来源:互联网
编辑:刘梓楠
有网友碰到过这样的问题:Xcode 7.0以后 iOS 9.0以后 最新百度地图 详细使用 - 他们都叫我梁子,问题详细内容为:挺不错的博文:Xcode 7.0以后 iOS 9.0以后 最新百度地图 详细使用 - 他们都叫我梁子,我搜你通过互联网收集了相关的一些解决方案,希望对有过相同或者相似问题的网友提供帮助,具体如下:
具体的集成方法 直接官方文档就好了 这里只做 使用说明:
如果集成没有问题 那么跟着我的以下步骤做 绝对没有问题:(在这里说明一下 我把 定位和地图 分块写出来的这样比较清晰)
1.appDelegate & 倒入头文件 &定义百度管理者属性属性
@property (strong, nonatomic) BMKMapManager *mapM
&并在启动方法中实现方法
#import &BaiduMapAPI_Map/BMKMapView.h&//只引入所需的单个头文件
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  #pragma mark - 百度地图
& & // 要使用百度地图,请先启动BaiduMapManager
& & _mapManager = [[BMKMapManager alloc]init];
& & // 如果要关注网络及授权验证事件,请设定 & & generalDelegate参数
& & BOOL ret = [_mapManager start:@"SjoQXduG5ibrPCHn4PfZy87p"& generalDelegate:nil]; // 蓝色部分替换你自己的key
& & if (!ret) {
& & & & NSLog(@"百度地图管理者 启动失败");
2.在要使用地图的类中 &倒入头文件 进行使用百度地图的功能
#import &BaiduMapAPI_Base/BMKBaseComponent.h&//引入base相关所有的头文件
#import &BaiduMapAPI_Map/BMKMapComponent.h&//引入地图功能所有的头文件
#import &BaiduMapAPI_Location/BMKLocationComponent.h&//引入定位功能所有的头文件
#import &BaiduMapAPI_Utils/BMKUtilsComponent.h&//引入计算工具所有的头文件
#import &BaiduMapAPI_Map/BMKMapView.h&//只引入所需的单个头文件
3.调用方法是用 直接贴代码注释很详细
@interface MapLawDetailViewController () &BMKMapViewDelegate, BMKLocationServiceDelegate&
&*& 百度地图
@property (strong, nonatomic) BMKMapView *mapV
&*& 定为服务
@property (strong, nonatomic) BMKLocationService *locS
@implementation MapLawDetailViewController
- (void)viewDidLoad {
& & [super viewDidLoad];
& & // 启动定位
& & [self locService];
& & // 显示地图
& & [self.view addSubview:self.mapView];
#pragma mark - 定位功能------------------------------------
- (BMKLocationService *)locService {
& & if (_locService == nil) {
& & & & _locService = [[BMKLocationService alloc]init];
& & & & _locService.delegate =
& & & & _locService.distanceFilter = 100.f;
& & & & // 后台也定位 并且屏幕上方有蓝条提示
& & & & _locService.allowsBackgroundLocationUpdates = YES;
& & & & //启动LocationService
& & & & [_locService startUserLocationService];
& & return _locS
//实现相关delegate 处理位置信息更新
//处理位置坐标更新
- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation
& & // 1.显示用户位置
& & self.mapView.showsUserLocation = YES;
& & // 2.更新用户最新位置到地图上
& & [self.mapView updateLocationData:userLocation];
& & // 3.设置中心 为 用户位置
& & CLLocationCoordinate2D center = userLocation.location.
& & CLLocationDegrees latitude = 0.5;
& & CLLocationDegrees longitude = 0.5;
& & // 4.设置跨度 数值越小 越精确
& & BMKCoordinateSpan span = BMKCoordinateSpanMake(latitude, longitude);
& & // 5.设置区域 中心店 和 范围跨度
& & BMKCoordinateRegion region = BMKCoordinateRegionMake(center, span);
& & // 设置地图显示区域范围
& & [self.mapView setRegion:region animated:YES];
#pragma mark - 地图功能-------------------------------------------
- (BMKMapView *)mapView {
& & if (_mapView == nil) {
& & & & _mapView = [[BMKMapView alloc]initWithFrame:self.view.bounds];
& & return _mapV
- (void)viewWillAppear:(BOOL)animated
& & [self.mapView viewWillAppear];
& & self.mapView.delegate = // 此处记得不用的时候需要置nil,否则影响内存的释放
- (void)viewWillDisappear:(BOOL)animated
& & [self.mapView viewWillDisappear];
& & self.mapView.delegate = // 不用时,置nil
- (void)viewDidAppear:(BOOL)animated {
& & // 添加一个PointAnnotation模型
& & BMKPointAnnotation* annotation = [[BMKPointAnnotation alloc]init];
& & CLLocationCoordinate2D // 定义模型经纬度
& & coor.latitude = 39.915;
& & coor.longitude = 116.404;
& & annotation.coordinate =
& & annotation.title = @"这里是北京";
& & [_mapView addAnnotation:annotation];
//& Override每当添加一个大头针就会调用这个方法(对大头针没有进行封装)
- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id &BMKAnnotation&)annotation {
& & // 这里的BMKAnnotationView 就相当于是UITableViewCell一样 其实就是一个View我们也是通过复用的样子一样进行使用。 而传进来的annotation 就是一个模型,它里面装的全都是数据!
& & if ([annotation isKindOfClass:[BMKPointAnnotation class]]) {
& & & & // 如果大头针类型 是我们自定义的百度的 而且是后加的大头针模型类 的话 才执行
& & & & static NSString *const ID = @"myAnnotation";
& & & & BMKPinAnnotationView *newAnnotationView = (BMKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:ID];
& & & & if (newAnnotationView == nil) {
& & & & & & newAnnotationView =& [[BMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:ID];
& & & & newAnnotationView.pinColor = BMKPinAnnotationColorP
& & & & newAnnotationView.animatesDrop = YES; // 设置该标注点动画显示
& & & & newAnnotationView.image = [UIImage imageNamed:@"marker"];
& & & & return newAnnotationV
& & // 这里是说定位自己本身的那个大头针模型 返回nil 自动就变成蓝色点点
总结:百度地图是用很方便,相对于之前的版本,废弃了一些api 这样更简单易用。
(如果有写的不对的地方欢迎与我交流 QQ: 我将怀着谦卑的心 努力学习 感激不尽)
posted @ 请注意,本站信息均收集自互联网,相关信息仅供参考,医疗等重要信息请以正规途径为最终意见,本站不承担任何责任!
您可能还关注君,已阅读到文档的结尾了呢~~
本套开发教程是基于百度地图IOS SDK 最新版V2.1.0 编写的,如无特殊说..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
百度地图IOS SDK 开发教程 -(珍藏版)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口&&&&04 在百度地图上定位到当前位置,并用大头针进行标注
04 在百度地图上定位到当前位置,并用大头针进行标注
04 在百度地图上定位到当前位置,并用大头针进行标注
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
移动开发下载排行后使用快捷导航没有帐号?
暂时没有人问过相似的问题,你可以做第一个提问题的人
查看: 7964|回复: 16
为什么百度地图didUpdateUserLocation没调用
百度地图didUpdateUserLocation没调用 ,但是didUpdateUserHeading调用了&&怎么破,请牛人指点
- (void)didUpdateUserLocation:(BMKUserLocation *)userLocation
- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation
你好&&请问使用的SDK 版本是哪个&&还有具体的用法是什么& &我们来追查一下&&谢谢支持 !
[quote]百度地图didUpdateUserLocation没调用,请牛人指点 ...
同样的 我也不调用,,只调用 用户位置更新后的代理方法
昨天还好好得,现在突然不调用了
SDK版本2.5,Xcode6.1,iPhone5S 8.1
定位成功了吗?
定位失败的接口调用了没有?
2.5版本百度地图定位服务要由BMKLocationService来做,现在BMKMapViewDelegate已经没有更新用户位置那个接口了
& & 哦 我是通过配置参数 来支持调用的
2.5版本 XCODE5.1 iPhone5s IOS7.1
didUpdateUserLocation和didUpdateUserHeading都正常,但我只想获取定位后的位置信息,为什么没有定位完成的接口啊?(总不能用update方法吧 只要稍微动一下update方法就会执行很多次)。
我也有这个状况,一直在不停的更新位置,stoplocationservice之后,导航会不会不更新位置了,导航的位置更新怎么实现的
sdk 2.5 Xcode5.1 iphone 5s iOS 7.1 程序第一次启动调用didUpdateUserLocation,后来就不调用了,不知为何》求解。?
麻烦技术支持解决下这个问题
问题解决了么,求共享
- (void)didUpdateUserLocation:(BMKUserLocation *)userLocation
正解啊,纠结可久了,原来隐藏这么深
Powered by查看: 1643|回复: 5
精华1在线时间82 小时帖子主题UID313008积分1270技术分325 资源分125 分享激情39 博客好友记录相册
实习工程师
知府, 积分 1270, 距离下一级还需 3730 积分
UID313008积分1270
我需要在后台获取坐标信息。
所以 在 info.plist 里加上 &Required background modes& 这个项,然后添加这个项的1个 item &App registers for location updates&。
但加上了这样项之后。问题就来了。
坐标获取方法:
[mapView setShowsUserLocation:YES];
在有运行百度地图坐标获取的界面中按HOME键退出的话。就会crash。
crash报告:
libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient:
0x362b6e18:&&movw& &r1, #48879
0x362b6e1c:&&movs& &r0, #1
0x362b6e1e:&&movt& &r1, #57005
0x362b6e22:&&str& & r1, [r0]
0x362b6e24:&&bx& &&&lr
0x362b6e26:&&nop&&
请问这个问题怎么解决。
网上的解决方法不会用,我连CCDirector是什么类都不知道。所以有哪个大神知道解决啊?
- (void)applicationDidEnterBackground:(UIApplication *)application
[[CCDirector sharedDirector] stopAnimation];
- (void)applicationWillEnterForeground:(UIApplication *)application
[[CCDirector sharedDirector] startAnimation];
精华0在线时间146 小时帖子主题UID16积分41819技术分26580 资源分1119 分享激情3539 博客好友记录相册
高级架构师
UID16积分41819
在有运行百度地图坐标获取的界面中按HOME键退出》
你是成功获取下来了还是没有,你可以打断点试试,看是不是你操作了一个不存在的指针什么的造成的,或者你在点击home的时候,你处理一下,停止地图的加载试试看。
精华1在线时间82 小时帖子主题UID313008积分1270技术分325 资源分125 分享激情39 博客好友记录相册
实习工程师
知府, 积分 1270, 距离下一级还需 3730 积分
UID313008积分1270
symbian_love 发表于
在有运行百度地图坐标获取的界面中按HOME键退出》
你是成功获取下来了还是没有,你可以打断点试试,看是 ...
我是已经成功把坐标获取下来了的!
我在ios百度地图的DEMO中也试过。。
crash也是由[mapView setShowsUserLocation:YES];这行代码引的。
如果[mapView setShowsUserLocation:NO]再按HOME键退出的话,就不会crash。
所以我觉得就是百度地图在后台定位时存在着问题。
我在网上查过引起libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient:这个问题的原因是:
简单来说就是应用在处于后台状态时是不允许执行任何OpenGL命令的,
请问百度地图除了setShowsUserLocation: 这个方法还有没有其它方法可以定位的?
精华0在线时间146 小时帖子主题UID16积分41819技术分26580 资源分1119 分享激情3539 博客好友记录相册
高级架构师
UID16积分41819
可以用高德什么的都是可以吧,或者你可以用系统自带的,google什么的是否可以呢?
精华1在线时间82 小时帖子主题UID313008积分1270技术分325 资源分125 分享激情39 博客好友记录相册
实习工程师
知府, 积分 1270, 距离下一级还需 3730 积分
UID313008积分1270
symbian_love 发表于
可以用高德什么的都是可以吧,或者你可以用系统自带的,google什么的是否可以呢?
我已经在百度地图API论坛里问过了。原来是定位时,百度地图会调用到openGL命令。所以才会出现转后台时crash这种问题。。。
只能用系统自带的定位系统了。
精华0在线时间146 小时帖子主题UID16积分41819技术分26580 资源分1119 分享激情3539 博客好友记录相册
高级架构师
UID16积分41819
及时将最新信息发给我
通过Email及时将最新的模板和服务发给我。
及时了解我们最新动态。关注我们的微博
官方微博: &&&
Powered by
& 2010 - 2016}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信