iOS百度地图问题总结(三)

作者: hrscy | 来源:发表于2015-11-10 22:56 被阅读1717次

    关于导入百度地图SDK出现的问题(一)


    原帖地址

    1.MKAnnotationView和MKPinAnnotationView的区别.

    如果想创建以静态图片作为大头针图片的话,可以通过创建MKAnnotationView是实例。如果想使用apple自带的大头针则创建MKPinAnnotationView.


    2.Undefined symbols for architecture x86_64

    错误原因:一般是指用到的第三方框架不支持64位手机


    无标题1.png

    将5改为$(ARCHS_STANDARD)_32_BIT


    3. Terminating app due to uncaught exception ‘NSInvalidUnarchiveOperationException’,reason ‘Could not instantiate class named MKMapView’ 解决办法:如果sotoryboard中用到了地图,必须手动导入框架MapKit.framework.


    4.使用百度地图api不显示当前位置的蓝点,如下代码

    - (void)viewDidLoad { 
    [super viewDidLoad]; 
    _locService = [[BMKLocationService alloc] init]; _locService.delegate = self; 
    _mapView = [[BMKMapView alloc] initWithFrame:[UIScreen mainScreen].bounds];
     if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0) { 
    // 主动请求权限
     self.mgr = [[CLLocationManager alloc] init]; 
    self.mgr.delegate = self;
     [self.mgr requestAlwaysAuthorization];
     } 
    [self.view addSubview:_mapView];
     [_locService startUserLocationService]; _mapView.userTrackingMode = BMKUserTrackingModeFollow;//设置定位的状态 
    _mapView.showsUserLocation = YES;//显示定位图层
    }
    /** 
    *用户位置更新后,会调用此函数 
    *@param userLocation 新的用户位置 
    */
    - (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation{
     [_mapView updateLocationData:userLocation]; 
    if (userLocation != nil) { 
    NSLog(@"%f %f", userLocation.location.coordinate.latitude, userLocation.location.coordinate.longitude); 
    }
    }
    

    5.百度地图BMKMapViewDelegate的-mapView:viewForAnnotation:函数不调用

    解决办法:看看mapview的delegate是不是在viewWillAppear里面 如果是的话,viewDidLoad肯定是先于viewWillAppear被叫的,所以不会调用。

    下面是 demo 下载地址:

    github 下载地址

    相关文章

      网友评论

        本文标题: iOS百度地图问题总结(三)

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