我正在使用带有离线地图的MapBox SDK。我正在向mapView添加一个RMPath覆盖,所有内容都显示正常。
问题没有。 1: 在滚动地图时,RMPath叠加层也会滚动,但有时它会以一个偏移(刚刚刚刚出现的位置)绘制,只需几分之一秒,之后它会到达正常位置,这会创建一种闪烁的感觉。为什么会这样,我怎么能摆脱它?
问题没有。 2: 在滚动地图时,RMMarker和RMPath叠加层“振动”,就像覆盖图试图在滚动地图时“赶上”它的正常位置。它只是几个像素,但在缩放时它看起来很糟糕。这种情况很可能发生,因为只有当地图移动的位置超过一个像素时才会调用-draw()方法。如何使叠加滚动更平滑?
我的搜索完全没有任何结果,所以欢迎任何帮助。
P.S。在iPhone3GS和iPhone4S上进行了测试,两者都存在同样的问题。
答案 0 :(得分:1)
不推荐使用RMPath,请尝试使用RMShape。 另外,在将注释添加到地图之前,不要忘记设置注释的边界框(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;
答案 1 :(得分:0)
对于你的问题n°2,我认为这可能与this issue on MapBox ios sdk
相关对于问题n°1,我注意到了相同的行为,但只有在地图滚动/缩放时添加了注释。地图稳定后,注释会转到正确的位置。我还在调查。