如何开发一个简单的百度地图--定位获取当前位置的详细信息(三)
今天给大家补充一节上一篇文章有关的,定位我当前的详细地址的功能,给大家写一下,下面给大家先看一下效果
定位当前详细信息.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; } }]; }
然后运行一些就可以看到效果。
这个比较简单,大家写的时候认真一步一步跟着来就行。如果有问题的话可以私信我。谢谢。
最新源码 百度地图