iOS_SN_地图的使用

Posted 小小的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS_SN_地图的使用相关的知识,希望对你有一定的参考价值。

地图的定位,记得不用定位的时候要关掉定位不然会一直定位,使电量使用过快。

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    self.mapView = [[BMKMapView alloc] initWithFrame:CGRectMake(0, 0, kwidth, kheigth)];
    //    [self.mapView setZoomLevel:14];
    [self.view addSubview:self.mapView];
    
    //初始化BMKLocationService
    _locService = [[BMKLocationService alloc]init];
    _locService.delegate = self;
    //启动LocationService
    [_locService startUserLocationService];

}


//实现相关delegate 处理位置信息更新
//处理方向变更信息
- (void)didUpdateUserHeading:(BMKUserLocation *)userLocation
{
    //NSLog(@"heading is %@",userLocation.heading);
    
    NSLog(@"%@--%@--%f--%f",userLocation.title,userLocation.subtitle,userLocation.location.altitude,userLocation.location.altitude);
    
}
//处理位置坐标更新
- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation
{
    
    _mapView.showsUserLocation = YES;//显示定位图层
    [_mapView updateLocationData:userLocation];

    
    NSLog(@"didUpdateUserLocation lat %f,long %f",userLocation.location.coordinate.latitude,userLocation.location.coordinate.longitude);
}

  自定义大头针,要先自定义大头针模型,其核心代码如下:

- (BMKAnnotationView *)mapView:(BMKMapView *)view viewForAnnotation:(id <BMKAnnotation>)annotation
{
    static NSString *AnnotationViewID = @"annotationViewID";
    MyPointAnnotation *myAnnotation = (MyPointAnnotation *)annotation;
    MyAnnotationView *annotationView = (MyAnnotationView *)[view dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];
    if (annotationView == nil)
    {
        annotationView = [[MyAnnotationView alloc] initWithFrame:CGRectMake(0, 0, 27, 30) viewForAnnotation:myAnnotation reuseIdentifier:AnnotationViewID];
        annotationView.image = [UIImage imageNamed:@"定位.png"];
    }
    else
    {
        annotationView.myAnnotation = myAnnotation;
        [annotationView setNeedsLayout];
    }
    annotationView.annotation = myAnnotation;
    annotationView.canShowCallout = true;
    return annotationView;
}

  下面有一个整体的demo会贴出来。

 

以上是关于iOS_SN_地图的使用的主要内容,如果未能解决你的问题,请参考以下文章

iOS_SN_详解沙河(转载)

iOS_SN_基于AFNetworking3.0网络封装

iOS_SN_沙盒文件操作及位置

使用片段的谷歌地图

谷歌地图片段显示,但没有地图

在Android Studio片段之间切换时地图片段不隐藏