gpt4 book ai didi

ios - 滚动时 RMPath 闪烁和 "vibrates"RMMapView (MapBox SDK)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:24:49 26 4
gpt4 key购买 nike

我正在使用带有离线 map 的 MapBox SDK。我正在向 mapView 添加 RMPath 叠加层,一切都显示正常。

问题编号。 1: 在滚动 map 时,RMPath 叠加层也会滚动,但有时它会在几分之一秒内以偏移量(刚才所在的位置)绘制,之后它会到达正常位置,这会创建闪烁的感觉为什么会发生这种情况,我该如何摆脱它?

问题编号。 2: 滚动 map 时,RMMarker 和 RMPath 叠加层会“振动”,就像滚动 map 时叠加层试图“ catch ”其正常位置一样。它只有几个像素,但放大后看起来很糟糕。发生这种情况很可能是因为 -draw() 方法仅在 map 移动超过一个像素时才被调用。如何使叠加层滚动更平滑?

我的搜索结果一无所获,因此欢迎任何帮助。

附注在 iPhone3GS 和 iPhone4S 上测试,同样的问题。

最佳答案

RMPath 已弃用,请尝试改用 RMShape。也不要忘记在将注释添加到 map 之前设置注释的边界框(setBoundingBoxFromLocations 可能很有用)。

示例:

pathAnnotation = [[RMAnnotation alloc]initWithMapView:mapView    coordinate:CLLocationCoordinate2DMake(long,lat) andTitle:@"path"];
[pathAnnotation setBoundingBoxFromLocations:pathLocations];

然后在你的 layerForAnnotation() 中:

RMShape *path = [[RMShape alloc] initWithView:mapView] ;
[path setLineColor:[UIColor colorWithRed:0.2 green:0.7 blue:1 alpha:0.7]];
[path setLineWidth:4];

// Create real coordinates from data
for(int idx = 0; idx < pathPoints.count; idx++)
{

CLLocationCoordinate2D coords = CLLocationCoordinate2DMake(pathPoints[idx].latitude,pathPoints[idx].longitude);

// First point
if( idx == 0){
[path moveToCoordinate:coord];
}else{
[path addLineToCoordinate:coord];
}
}
return path;

关于ios - 滚动时 RMPath 闪烁和 "vibrates"RMMapView (MapBox SDK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11667049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com