Я создал собственную аннотацию для отображения моих данных. Данные поступают с движущихся транспортных средств, и мне нужно обновить их местоположение на карте, а также их название (оно показывает время последнего обновления).
Мой первый подход состоял в том, чтобы просто удалить все аннотации и воссоздать их. Однако это приводит к ужасному мерцанию (карта очищается, а затем появляются все аннотации), и карта перерисовывается во время перерисовки. Менее оптимальное решение.
В OS4 SDK они улучшили MKMapViewAnnotation
, и теперь я могу установить координаты (раньше они были только для чтения). Изменение координат перемещает вид, где он должен быть без мерцания. Это решило одну из моих проблем.
В документации API сказано, что изменение названия MKAnnotation
приведет к обновлению MKAnnotationView
. Это действительно так для MKPinView
. Если я обновлю координаты и заголовок MKAnnotation
, штифт переместится и покажет новые данные.
Как я могу добиться того же результата, используя свой пользовательский MKAnnotationView
? Я не вижу способа попросить обновить представление.
Я попытался вызвать setNeedsLayout
на MKAnnotationView
, но это привело только к исчезновению вида.
Приветствие.