Подтвердить что ты не робот

Использование анимационного Gif в качестве наземных надписей в G. Maps v2

В настоящее время я использую Карты Google и хотел бы использовать анимированный Gif как Overlay в своем приложении. Это действительно разочаровывает, так как кажется очень легким в версии приложения iOS, поэтому я действительно хочу добиться чего-то хорошего.

Результат, который я хотел бы увидеть, находится на 23-м из этого видео: https://www.youtube.com/watch?v=JI323jA67x0#t=23s

Наземные надписи кажутся обычной практикой, но не принимают анимированный gif:

LatLng NEWARK = new LatLng(40.714086, -74.228697);

GroundOverlayOptions newarkMap = new GroundOverlayOptions()
        .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
        .position(NEWARK, 8600f, 6500f);

// Add an overlay to the map, retaining a handle to the GroundOverlay object.
GroundOverlay imageOverlay = map.addGroundOverlay(newarkMap);

https://developers.google.com/maps/documentation/android-api/groundoverlay#add_an_overlay

4b9b3361

Ответ 1

В качестве решения мы разложили GIF в несколько изображений, и мы перебираем весь список изображений.

Мы используем тот же код, что и выше, и все в порядке.

Использование ImageView + Glide, как предлагается ниже, совсем не помогает, поскольку изображение не будет перемещаться с помощью карты.

Ответ 2

Вы можете использовать библиотеку с открытым исходным кодом для отображения изображения Gif в одном представлении изображения просто добавьте его зависимость https://github.com/bumptech/glide

и его простой в использовании пример кода

ImageView imageView = (ImageView) findViewById(R.id.imageView);
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(imageView);
Glide.with(this).load(R.raw.sample_gif).into(imageViewTarget);

Ответ 3

@waza_be в настоящее время оверлей не поддерживает анимированный gif. надеюсь, скоро у них это получится. это было возможно с помощью версии 1 с помощью ImageView и добавления ее на карту. но в версии 2 они отказались от добавления просмотров на карту.