RMPATH Flickers и «Вибрирует» при прокрутке RMMapView (Mapbox SDK)

StackOverflow https://stackoverflow.com//questions/11667049

  •  12-12-2019
  •  | 
  •  

Вопрос

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

<Сильная> проблема №. 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 я заметил одинаковое поведение, но только при добавлении аннотаций, пока карта прокручивает / масштабирует.После того, как карта стабилизирована, аннотации идут в правильное положение.Я все еще расследую за это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top