RMPath мерцает и "вибрирует" при прокрутке RMMapView (MapBox SDK)

Я использую MapBox SDK с автономной картой. Я добавляю наложение RMPath к mapView, и все отображается нормально.

№ проблемы 1: при прокрутке карты прокручивается и оверлей RMPath, но иногда он рисуется со смещением (место, где это было всего минуту назад) всего за доли секунды, после чего он добирается до своего обычного места, и это создает ощущение мерцания. Почему это происходит и как от этого избавиться?

№ проблемы 2: при прокрутке карты наложение RMMarker и RMPath "вибрирует", это похоже на наложение, которое пытается "догнать" свое нормальное положение при прокрутке карты. Это всего лишь несколько пикселей, но при увеличении выглядит довольно плохо. это, скорее всего, происходит потому, что метод -draw() вызывается только тогда, когда карта перемещается больше, чем просто на пиксель. Как сделать прокрутку наложений более плавной?

Мои поиски ни к чему не привели, поэтому любая помощь приветствуется.

ps проверено на iPhone3GS и iPhone4S, одинаковые проблемы на обоих.

2 ответа

Решение

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;

Для вашей проблемы № 2, я думаю, что это может быть связано с этой проблемой на MapBox IOS SDK

Для задачи № 1 я заметил то же самое поведение, но только когда аннотации добавляются, когда карта прокручивается / масштабируется. После того, как карта стабилизируется, аннотации переходят в правильное положение. Я все еще расследую это.

Другие вопросы по тегам