Использование анимационного 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
Ответы
Ответ 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 они отказались от добавления просмотров на карту.