iOS谷歌原生地图开发[用户定位获取不到除了并不有效的KOV外]独家解决方案

很多人在开发谷歌地图的时候遇到这样的问题:


就是Mylocation的值一辈子都是为~nil的

上网查了基本都是然并卵的回答和方法

接下来我来给大家使用苹果系统自带的定位管理器和谷歌地图的适配

首先遵循协议:

<span style="font-size:14px;">@interface ViewController ()<CLLocationManagerDelegate>{
    // 创建地图对象
    GMSMapView * mapView_;
    // 地图定位管理器
    CLLocationManager * locManager_;
    
    // 经纬度
    float latitude;
    float longitude;
}</span>

然后在viewdidload中初始化:

<span style="font-size:14px;">- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 创建定位管理器
    locManager_ = [[CLLocationManager alloc]init];
    locManager_.delegate = self;
    [locManager_ setDesiredAccuracy:kCLLocationAccuracyBest];
    [locManager_ startUpdatingLocation];// 开始获取位置信息
}</span>
在遵循协议之后要做的就是使用代理方法:

<span style="font-size:14px;">- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation
{
    // 通过locManager 得到当前的位置
    CLLocationCoordinate2D loc = [newLocation coordinate];
    latitude =  loc.latitude;
    longitude = loc.longitude;
    
    // 创建谷歌地图对象
    // 使用获取到的定位信息来构建初始化的定位位置
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:latitude
                                                            longitude:longitude
                                                                 zoom:12];
    // 创建谷歌地图对象
    mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];

    // 室内地图开启
    mapView_.indoorEnabled = YES;
    // 允许显示我的位置以及圆形范围
    mapView_.myLocationEnabled = YES;
    
    self.view = mapView_;
   
    // 把这个标记在地图上显示
    marker.map = mapView_;
    
    // 辅助工具开启
    mapView_.accessibilityElementsHidden = NO;
    
    // 设置地图的显示类型(暂定默认)
    mapView_.mapType = kGMSTypeHybrid; // 卫星图片数据
    
    // 停止更新地址,
    [manager stopUpdatingLocation];
}</span><span style="font-size:24px;">
</span>
通过这个协议,当我们进入了自己做的谷歌地图之后,终于~~

终于可以进去就缩放到自己的定位

不过,狗血的是~~Mylocation的值还是为nil~~

但这个实现的过程和方法明确的给出了我们之后如何获取

地理经纬信息,为我们之后的开发做好了基础

本文原创,装载请标明发源地!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值