百度地图ios api使用中遇到的问题总结

  这次更换百度,让我纠结了很久(约一个星期),其中遇到各种各样奇怪、恶心的问题,在攻克这些问题之后,有必要做一个较为全面的总结,希望能帮到遇到类似问题的童鞋。

  1,百度地图在xcdoe 4.5和ios6.0上编译真机版时,不能编译过。

   解决办法:将真机版与ios simulater版合并,合并方法百度在线指导文档上有,而下载下来的 pdf文档上没有。(这个有点蛋疼)

  

  2,mapView的实例,调用userLocationVisible时,“常常不准确”。

  解决办法:通过反复调试,发现,在mapview 的region完全改变后,通过这个属性所获取的值,是正确的。即:

   可在 - (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated 代理中设置标志位,只要在标志位有效时,才使用userLocationVisible属性。


  3,对于自定义的BMKAnnotationView 时,使用dequeueReusableAnnotationViewWithIdentifier时,如果涉及到更换图片或者文字时,最好是先设置成nil,再重新设置一次。例如:

  

 static NSString* identifier = @"pin_annotation";
        TSAnnotationView* view = (TSAnnotationView*)[mapView dequeueReusableAnnotationViewWithIdentifier:identifier];
        if (!view) {
            view = [[TSAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
            view.annotation = annotation; 
        } else {
            view = nil;
            view = [[TSAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
            view.annotation = annotation;
        }

  其中,TSAnnotationView是我自定义的AnnotationView。

你可能感兴趣的:(百度地图ios api使用中遇到的问题总结)