年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2694|回复: 0

百度地图使用第四讲:地图展示与定位

[复制链接]
  • TA的每日心情

    2024-10-15 10:05
  • 签到天数: 372 天

    [LV.9]以坛为家II

    发表于 2014-11-17 17:59:11 | 显示全部楼层 |阅读模式
    1、加载百度地图
    2、开启定位服务
    3、在定位服务的代理方法(获取用户地理位置后)中,设置地图中心点为用户当前位置
    4、相关说明及代码实现:
    1. //
    2. //  SAViewController.m
    3. //  MapDemo
    4. //
    5. //  Created by Sian on 14/11/13.
    6. //  Copyright (c) 2014年 Sian. All rights reserved.
    7. //
    8. #import "SAViewController.h"
    9. #import "BMapKit.h"
    10. @interface SAViewController () <BMKMapViewDelegate, BMKLocationServiceDelegate>
    11. @property (nonatomic, strong) BMKMapView            *mapView;
    12. @property (nonatomic, strong) BMKLocationService    *location;
    13. @end
    14. @implementation SAViewController
    15. - (void)viewDidLoad
    16. {
    17.     [super viewDidLoad];
    18.    
    19.     // 初始化定位服务
    20.     self.mapView = [[BMKMapView alloc] initWithFrame:self.view.frame];
    21.     self.mapView.delegate = self;
    22.     // 显示用户当前位置
    23.     self.mapView.showsUserLocation = YES;
    24.     [self.view addSubview:self.mapView];
    25.    
    26.     // 初始化定位服务
    27.     self.location = [[BMKLocationService alloc] init];
    28.     self.location.delegate = self;
    29.     // 开启定位服务
    30.     [self.location startUserLocationService];
    31. }
    32. - (void)viewWillAppear:(BOOL)animated
    33. {
    34.     [super viewWillAppear:animated];
    35.     [self.mapView viewWillAppear];
    36. }
    37. - (void)viewWillDisappear:(BOOL)animated
    38. {
    39.     [super viewWillDisappear:animated];
    40.     [self.mapView viewWillDisappear];
    41. }
    42. #pragma mark 代理方法获取用户位置信息时调用
    43. - (void)didUpdateUserLocation:(BMKUserLocation *)userLocation
    44. {
    45.     NSLog(@"%f", userLocation.location.horizontalAccuracy);
    46.     // 地图加载用户位置图层
    47.     [self.mapView updateLocationData:userLocation];
    48.     // 将用户当前位置设置为地图中心点
    49.     self.mapView.centerCoordinate = userLocation.location.coordinate;
    50.     // 设置地图缩放比例
    51.     self.mapView.zoomLevel = 17;
    52. }
    53. @end
    复制代码
    效果展示:
    iOS-模拟器屏幕快照“2014年11月20日-上午10.22.28”.jpg

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-12-23 08:54 , Processed in 0.052805 second(s), 25 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表