滚动RMMAPView(Mapbox SDK)时,RMPath闪烁和“振动”
题
我正在使用带有离线地图的Mapbox SDK。我在mapView中添加了一个rmpath overway,一切显示了。
问题没有。 1: 滚动地图时,也滚动了RMPath覆盖,但有时它是用偏移量绘制的(仅仅是瞬间前的位置)只是一秒钟的一小部分,之后它会达到正常的地方,而这会产生闪烁的感觉。为什么会发生这种情况,我怎么能摆脱它?
问题没有。 2: 在滚动地图时,RMMarker和RMPath叠加“振动”,就像覆盖点试图在滚动地图时将“捕获”在普通位置。它只是几个像素,但是当缩放时看起来很糟糕。这可能是最可能的,因为只有当地图移动超过一个像素时才被调用-draw()方法。如何让叠加滚动更平稳?
我的搜索绝对没有,所以欢迎任何帮助。
p.s。在iphone3gs和iphone4s上测试,两者都有相同的问题。
解决方案
rmpath被弃用,请尝试使用rmshape。 在将注释添加到地图之前,也不要忘记设置注释的边界框(SetBoundingBoxFromLocations可能是有用的)。
示例:
pathAnnotation = [[RMAnnotation alloc]initWithMapView:mapView coordinate:CLLocationCoordinate2DMake(long,lat) andTitle:@"path"];
[pathAnnotation setBoundingBoxFromLocations:pathLocations];
.
然后在您的图层()中():
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;
. 其他提示
为您的问题n°2,我认为这可能是相对于这个问题在Mapbox IOS SDK
对于问题n°1,我已经注意到了相同的行为,但只有在地图滚动/缩放时添加注释时。在地图稳定后,注释转到正确的位置。我还在调查这一点。
不隶属于 StackOverflow