2016-03-09 4 views
0

Я пытаюсь понять, как анимировать маркеры при использовании mapbox-gl. Я фактически использую привязку Xamarin библиотеки Java 3.2.0.3, поэтому проблема может быть там.Анимационные маркеры

Я использую примеры, которые мы можем найти на странице GitHub, и в основном пример this. Этот пример показывает, что для достижения движения достаточно простого ValueAnimator, изменяющего положение объекта MarkerOptions.

Все попытки переноса маркера не выполнялись: применение SetPosition объекта MarkerOptions не имеет никакого эффекта.

Я пробовал временные решения, такие как удаление всех маркеров и их повторное добавление. Либо в аниматоре, либо путем создания моей собственной логики в событии Update. Но, конечно, маркеры мерцают, потому что модификации карты не идеально синхронизированы с пользовательским интерфейсом потока.

При чтении mapbox-gl образцов исходного кода на странице проекта, то мне кажется ясным, что использование Animator на MarkerOptions это хорошая практика, но это только кажется, что не в состоянии независимо от того, что я пытаюсь сделать.

Реферат: Вызов _myMarkerOptions.SetPosition(new LatLng(10, 10)); на существующий маркер просто не влияет.

ответ

2

Пример ValueAnimator будет работать только с предстоящим выпуском 4.0.0. До этого выпуска Marker.setPosition был закрытым и недоступным для внешнего использования. Вызов на MarkerOptions не имеет никакого эффекта, поскольку он является строителем для объекта-маркера, а не самого маркера.

На данный момент единственным способом является удаление и считывание маркера.