美文网首页百度地图iOS DeveloperiOS开发技术分享
如何开发一个简单的百度地图--定位获取当前位置的详细信息(三)

如何开发一个简单的百度地图--定位获取当前位置的详细信息(三)

作者: Lee0528 | 来源:发表于2016-10-14 15:16 被阅读3175次

    今天给大家补充一节上一篇文章有关的,定位我当前的详细地址的功能,给大家写一下,下面给大家先看一下效果

    定位当前详细信息.gif

    然后我们直接上代码
    我们先写一个可以显示我们位置的Label,如下
    /*显示我所在的地理位置信息*/ myLocationLab = [[UILabel alloc] init]; myLocationLab.frame = CGRectMake(0, 40, self.view.bounds.size.width, 20); myLocationLab.font = [UIFont systemFontOfSize:14]; myLocationLab.backgroundColor = [UIColor clearColor]; myLocationLab.textColor = [UIColor blackColor]; myLocationLab.alpha = 0.8; [self.view addSubview:myLocationLab];

    我们要在这里面获取到我们的location信息,获取到之后我们传到下面那个方法里,如下
    - (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation //用户更新之后会调用此方法 { [self getCity:userLocation.location];//这个获取到之后把Location传给下面 [mapView updateLocationData:userLocation]; }
    - (void)getCity:(CLLocation*)location { CLGeocoder *geocoder=[[CLGeocoder alloc]init]; [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) { CLPlacemark * placemark = [placemarks objectAtIndex:0]; if (placemark.subLocality != nil) { NSString * mapCityName = placemark.locality;//城市 NSString * mapAreaName = placemark.subLocality;//区 NSString * mapThoroughfare = placemark.thoroughfare;//街道 NSString *mapCity=[NSString stringWithFormat:@"%@-%@-%@",mapCityName,mapAreaName,mapThoroughfare]; myLocationLab.text = mapCity; } }]; }
    然后运行一些就可以看到效果。
    这个比较简单,大家写的时候认真一步一步跟着来就行。如果有问题的话可以私信我。谢谢。

    最新源码 百度地图

    相关文章

      网友评论

      • AlwaysBlue:反编译的时候用的是系统的,竟然街道信息返回是空
        有没有什么好的解决办法
        Lee0528:@AlwaysBlue 没用过这个。你用他的demo看可以吗。
        AlwaysBlue:@Lee0528 反geo的时候,用系统的返回信息不详细;然后我就试着用百度的BMKGeoCodeSearch这个 ,结果程序跑不起来 就听到启动页了,你有遇到过吗
        Lee0528:@AlwaysBlue 什么意思??

      本文标题:如何开发一个简单的百度地图--定位获取当前位置的详细信息(三)

      本文链接:https://www.haomeiwen.com/subject/pfbgyttx.html