我目前正在使用Google地图,并希望在我的应用中使用动画Gif作为叠加层。 这真的令人沮丧,因为它在iOS版本的应用程序上看起来非常简单,所以我真的想要实现一些很酷的东西。
我希望看到的结果是该视频的23:https://www.youtube.com/watch?v=JI323jA67x0#t=23s
Ground Overlays似乎是一种麻烦的做法,但不接受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
答案 0 :(得分:5)
作为解决方案,我们在多个图像中分解了GIF,并且我们正在循环所有图像列表。
我们使用与上面相同的代码,一切都很好。
如下所示,使用ImageView + Glide根本无法提供帮助,因为图像不会随地图一起移动。
答案 1 :(得分:3)
您可以使用开源库在单个图像视图中显示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);
答案 2 :(得分:0)
@waza_be目前地面叠加不支持动画gif。希望他们很快就能拥有它。版本1可以使用ImageView并将其添加到地图中。但在版本2中,他们取消了向地图添加视图。