iOS 苹果自带地图需求开发——1
2015-05-27 22:38
836 查看
在iOS开发的过程中,不可避免的要涉及到地图方面的需求,本人也刚刚实现了一些地图上面的需求所以整理了以下的一些实现方式。
1.实现景点(地点)的定位功能
比较简单 话不多说上代码
通过以上的简单代码 即可实现地点(景点)在地图上的定位。
2.实现用户自身地理位置定位
在这个地方有一个坑 就是想要获取用户的位置定位要获得用户的许可,这是需要一个系统的是否允许获取的弹框 想要让系统弹出这个提示框 需要在pilist文件里面添加NSLocationAlwaysUsageDescription这个属性(复制即可)但是一般的Xcode工程会有两个plist文件 这个属性一定要加入到正确的plist文件里 (本人就因为加错,困扰了几个小时)好了 加好了这个属性之后 附上代码
好了以上就是在地图需求中会涉及到得两个简单的需求,之后我会写上一些更深层的需求。感谢大家阅读和指点批评。
1.实现景点(地点)的定位功能
比较简单 话不多说上代码
// 引入mapKit和location框架 #import <CoreLocation/CoreLocation.h> #import <MapKit/MapKit.h> // 签订协议 @interface MapLocationViewController ()<MKMapViewDelegate,CLLocationManagerDelegate> @property (nonatomic, strong) CLGeocoder *geocoder; @property (nonatomic, strong) MKMapView *mapView; @property (nonatomic, strong) CLLocationManager *locationManager; @end - (void)viewDidLoad { [super viewDidLoad]; self.mapView.userTrackingMode = MKUserTrackingModeFollow; // 2.设置地图类型 self.mapView.mapType = MKMapTypeStandard; // 3.设置代理 self.mapView.delegate = self; // 添加地图视图 [self.view addSubview:self.mapView]; // 景点的经纬度传到下面的方法里面 [self locateToLatitude:23.126372 longitude:113.395528]; } #pragma mark - // 景点定位 需要传入经纬度 - (void)locateToLatitude:(CGFloat)latitude longitude:(CGFloat)longitude { // 设置地图中心的经度纬度 CLLocationCoordinate2D center = {latitude, longitude}; // 也可以使用如下方式设置经度纬度 /* center.latitude = latitude; center.longitude = longitude; */ // 设置地图显示的范围 MKCoordinateSpan span; span.latitudeDelta = 0.01; span.longitudeDelta = 0.01; // 创建MKCoordinateRegion 对象,该对象代表地图的显示中心和显示范围 MKCoordinateRegion region = {center, span}; // 设置当前地图的显示中心和显示范围 [self.mapView setRegion:region animated:YES]; }
通过以上的简单代码 即可实现地点(景点)在地图上的定位。
2.实现用户自身地理位置定位
在这个地方有一个坑 就是想要获取用户的位置定位要获得用户的许可,这是需要一个系统的是否允许获取的弹框 想要让系统弹出这个提示框 需要在pilist文件里面添加NSLocationAlwaysUsageDescription这个属性(复制即可)但是一般的Xcode工程会有两个plist文件 这个属性一定要加入到正确的plist文件里 (本人就因为加错,困扰了几个小时)好了 加好了这个属性之后 附上代码
#pragma mark - MKMapViewDelegate /** * 当用户的位置更新,就会调用 * * @param userLocation 表示地图上蓝色那颗大头针的数据 */ - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { userLocation.title = @"在这里"; userLocation.subtitle = @"我现在在这个位置"; CLLocationCoordinate2D center = userLocation.location.coordinate; NSLog(@"%f %f", center.latitude, center.longitude); // 设置地图的显示范围, 让其显示到当前指定的位置 MKCoordinateSpan span = MKCoordinateSpanMake(0.021321, 0.019366);//这个显示大小精度自己调整 MKCoordinateRegion region = MKCoordinateRegionMake(center, span); [mapView setRegion:region animated:YES]; }
好了以上就是在地图需求中会涉及到得两个简单的需求,之后我会写上一些更深层的需求。感谢大家阅读和指点批评。
相关文章推荐
- iOS开发调用苹果自带的地图应用
- ios开发中如何调用苹果自带地图导航
- iOS开发调用苹果自带的地图应用
- ios开发中如何调用苹果自带地图导航
- iOS开发之利用苹果系统自带地图进行地图开发
- ios开发中如何调用苹果自带地图导航
- ios开发中如何调用苹果自带地图导航
- iOS开发之利用苹果系统自带地图进行地图开发
- iOS开发-苹果自带地图简单使用
- iOS 苹果自带地图定位Core Location
- iOS开发那些事-iOS6苹果地图实用开发
- iOS定位服务与地图开发(5)---使用程序外地图之调用iOS 6苹果地图
- iOS开发那些事-iOS6苹果地图实用开发
- iOS开发:使用苹果自带框架实现二维码和条形码扫描
- ios开发之定位和苹果地图
- iOS开发那些事-iOS6苹果地图实用开发
- iOS开发那些事-iOS6苹果地图实用开发
- iOS开发那些事-iOS6苹果地图实用开发 推荐
- iOS开发那些事-iOS6苹果地图实用开发
- iOS自带地图的开发和定位