在G. Maps v2中使用动画Gif作为地面叠加

时间:2016-04-28 08:13:17

标签: android google-maps-android-api-2 animated-gif

我目前正在使用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

3 个答案:

答案 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中,他们取消了向地图添加视图。