Я пытаюсь потянуть маршрут на свой MapView. Я расширил Наложение и реализовал ничью () метод. Маршрут отображен правильно, хотя при отладке, я включил точку останова, тянут () и заметил, что это называют постоянно.
Я только хочу, чтобы это было перерисовано, если кто-то перемещает карту, или масштабирование (ничья принимают во внимание эти изменения при рисовании маршрута), Что может вызвать это?
Есть два метода draw, которые можно переопределить.
void draw(android.graphics.Canvas canvas, MapView mapView, boolean shadow)
Desc: Нарисовать наложение поверх карты.
boolean draw(android.graphics.Canvas canvas, MapView mapView, boolean shadow, long when)
Desc: Вызов рисования для анимированных наложений.
Изначально я переопределил второе.
После изменения на первый метод все заработало.
Я думаю, что метод рисования вызывается неоднократно, потому что фон постоянно перерисовывается. попробуйте установить "MapView.ReticleDrawMode" на DRAW_RETICLE_UNDER. Это в основном указывает mapView рисовать сетку под накладками. Таким образом, метод рисования оверлея не будет вызываться при вызове фона. это устранило проблему для меня.
для получения дополнительной информации см. Здесь: MapView Api