美文网首页
百度地图自定义AnnotationView

百度地图自定义AnnotationView

作者: 茫茫尘世一枚迷途小书童 | 来源:发表于2018-11-15 17:52 被阅读0次

先说问题:当AnnotationView使用自定义的view(类似如下代码),在放大缩小地图的过程中会偏移比较大的位置。


- (id)initWithAnnotation:(id<BMKAnnotation>)annotation reuseIdentifier:(NSString *)reuseIdentifier{
    if (self = [super initWithAnnotation:annotation reuseIdentifier:reuseIdentifier]) {
        [self customView];
    }
    return self;
}

- (UIView *)customView{
    if (_customView == nil) {
        _customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
        
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(44, 0, 12, 26)];
        imageView.image = [UIImage imageNamed:@"arrow_for_wind"];
        [_customView addSubview:imageView];
        
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 30, 100, 20)];
        label.textAlignment = NSTextAlignmentCenter;
        label.textColor = [UIColor blackColor];
        label.font = [UIFont systemFontOfSize:10];
        label.backgroundColor = [UIColor clearColor];
        label.text = [NSString stringWithFormat:@"%@km/h",self.annotation.title];
        [_customView addSubview:label];
        
        [self addSubview:_customView];
    }
    return _customView;
}

@end

偏差如下图:


放大地图时.jpg
缩小地图时.jpg

同一个大头针放大缩小后竟然差距这么大(陆地去到海上),后来提交工单给百度,得到的回复如下:

自定义image的话,内部会自动获取图片中心点显示在经纬度所在位置,自定义view的话需要设置一下bounds。本例中是self.bounds = CGRectMake(0, 30, 100, 20);

目前官网还未给出这个说明,不过他表示会尽快更新。我在这里先给有同时遇到这个问题的小伙伴一个提示。

相关文章

  • 百度地图自定义AnnotationView

    先说问题:当AnnotationView使用自定义的view(类似如下代码),在放大缩小地图的过程中会偏移比较大的...

  • iOS 百度地图AnnotationView优化

    如图产品需求:在百度地图上展示标注和轨迹。优化之前只能在百度地图上展示200个AnnotationView和500...

  • iOS 高德地图 图钉Annotation响应区域不完整的问题

    今天在开发地图功能的时候,在实现自定义AnnotationView的时候,遇到了如下的问题: 自定义Annotat...

  • 1.百度地图bug

    1.百度地图接口蓝屏 百度地图接口蓝屏————自定义地图大小不能使用标签名百度地图经纬度数值过大:百度1.0表示的...

  • 解决百度地图双击放大手势与单击手势冲突的问题

    百度地图双击会放大地图,但是当我单击百度地图时,需要隐藏我自定义的一些视图,但是当我添加单击手势后,百度地图的双击...

  • iOS 百度地图的高级用法

    本文主要介绍百度地图的自定义用法,比如创建地图、添加标注点、添加路径轨迹等问题不在本文讨论范围,请点击百度地图开放...

  • 集成百度地图,看看就好

    集成百度地图,实现基本定位,检索,自定义大头针。 1.集成百度地图,当然前提还是去注册百度地图开发者 2.接下来创...

  • iOS百度地图paopaoView显示问题

    出现的问题:点击AnnotationView偶尔显示默认的(白色)paopao,偶尔显示自定义的paopao;设备...

  • 百度地图自定义气泡

    iOS-百度地图自定义气泡IOS百度地图自定义大头针和气泡 重点是定义了一个全局变量来取气泡的数据模型:stati...

  • 地图打点

    实现效果如下: 地图打点主要常用的地图分两类: 百度地图 高德地图 高德地图 高德地图可以使用自定义内容标记,通过...

网友评论

      本文标题:百度地图自定义AnnotationView

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