Using an Animated Gif as Ground Overlays in G. Map

2019-04-04 06:44发布

问题:

I am currently using Google Maps and would like to use an animated Gif as Overlay in my app. This is really frustrating as it seems very easy on iOS version of the app, SO I really want to achieve something cool.

The result I would like to see is on 23s of this video: https://www.youtube.com/watch?v=JI323jA67x0#t=23s

The Ground Overlays seems the bast practice, but doesn't accept animated 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:

As a solution, we have decomposed the GIF in multiple images and we are looping all the image list.

We are using the same code as above and everything is fine.

Using an ImageView + Glide as suggested below doesn't help at all as the Image will not move with the Map.



回答2:

You can use open source library to display Gif image in a single imageview just add its dependency https://github.com/bumptech/glide

and Its easy to use this an example code

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 currently ground overlay does not support animated gif. hopefully they will have it soon. it was possible with version 1 using ImageView and adding it to the map. but in version 2, they scrapped adding views to the map.