公告

公告:6月1日起论坛仅作为产品公告及开发者交流平台,如您的问题需百度工程师解答请前往 「反馈平台」 咨询,3个工作日内专人回复。

查看: 611|回复: 8

[产品需求] ios大头针数量过多 导致卡顿。(5K条数据吧)

[复制链接]
斗鱼艾3 发表于 2018-1-18 14:26:21 | 显示全部楼层 |阅读模式
iOS地图sdk
版本号: 3.4.2
手机型号: iPhone7p
使用的接口/api: addAnnotation,addAnnotations
效果截图: -
调用代码/参数:
使用的AK: 您无权查看此信息!
        for (TYGuangJiaoModel * mode in modelArray) {
            _pointAnnotation = [[TYGuangJiaoTypeBMKPointAnnotation alloc] init];//加快约2s
            CLLocationCoordinate2D coords = CLLocationCoordinate2DMake(mode.Latitude,mode.Longitude);
            _pointAnnotation.coordinate = coords;
            _pointAnnotation.title = [NSString stringWithFormat:@"%@--%@",key,mode.name];
            _pointAnnotation.subtitle = mode.code;
            if ([key isEqualToString:@"3"]) {
                _pointAnnotation.type = 2;
            }
            if ([key isEqualToString:@"2"]) {
                _pointAnnotation.type = 1;
            }
            if ([key isEqualToString:@"1"]) {
                _pointAnnotation.type = 3;
            }
//            [_mapView addAnnotation:_pointAnnotation];//数据很多的时候卡顿 待优化
            [annotionArray addObject:_pointAnnotation];
            //    设置地图使显示区域显示所有annotations
            if (jjj == modelArray.count/2) {
                [_mapView setCenterCoordinate:coords];
            }
            jjj++;
        }
        [_mapView addAnnotations:annotionArray];
//        [_mapView setZoomLevel:12];
        [self.currentLineData setObject:annotionArray forKey:key];

梦幻琪 发表于 2018-1-25 13:20:28 | 显示全部楼层
annotionArray的count是多少?
zyfyytt 发表于 2018-1-31 15:22:13 | 显示全部楼层
梦幻琪 发表于 2018-1-25 13:20
annotionArray的count是多少?

我也遇到卡顿的问题了,大概有160左右,如果是iPhone5或5s卡顿时间很长
梦幻琪 发表于 2018-2-1 15:09:48 | 显示全部楼层
zyfyytt 发表于 2018-1-31 15:22
我也遇到卡顿的问题了,大概有160左右,如果是iPhone5或5s卡顿时间很长

正常情况下160个不会产生卡顿,请参考官网http://lbsyun.baidu.com/index.ph ... de/map-render/point的AnnotationView的复用机制
 楼主| 斗鱼艾3 发表于 2018-2-7 15:02:20 | 显示全部楼层
梦幻琪 发表于 2018-1-25 13:20
annotionArray的count是多少?

至少1000以上的。 还是测试数据
 楼主| 斗鱼艾3 发表于 2018-2-7 15:03:11 | 显示全部楼层
zyfyytt 发表于 2018-1-31 15:22
我也遇到卡顿的问题了,大概有160左右,如果是iPhone5或5s卡顿时间很长

最后 我用的只显示屏幕内的大头针。 可以通过经纬度来判断。
Devil灬子落 发表于 2018-3-9 15:35:38 | 显示全部楼层
就算只显示 当前屏幕上的, 如果当前屏幕上 有大量的标注 (300以上或更少)时也会非常不流畅啊,
体验还没有安卓的好
Devil灬子落 发表于 2018-3-9 15:39:19 | 显示全部楼层
梦幻琪 发表于 2018-2-1 15:09
正常情况下160个不会产生卡顿,请参考官网http://lbsyun.baidu.com/index.php?title=iossdk/guide/map-re ...

一个屏幕显示160+的点 会很不流畅,试了各种方法(需求不允许点聚合) 也无法优化。
 楼主| 斗鱼艾3 发表于 2018-3-14 11:48:02 | 显示全部楼层
Devil灬子落 发表于 2018-3-9 15:35
就算只显示 当前屏幕上的, 如果当前屏幕上 有大量的标注 (300以上或更少)时也会非常不流畅啊,
体验还没 ...

当前屏幕 + level等级来作为显示的条件。 现在很流畅, 比Android好多了。。。

小黑屋|手机版|百度地图开放平台 ( 京ICP证030173号 )

GMT+8, 2018-12-17 04:23 , Processed in 0.104170 second(s), 21 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表