谷歌地图api ANDROID中标记的GIF类型动画

谷歌地图api ANDROID中标记的GIF类型动画,android,google-maps,google-maps-markers,google-maps-android-api-2,android-handler,Android,Google Maps,Google Maps Markers,Google Maps Android Api 2,Android Handler,我想实现一个标记动画,比如GIF动画。我得到了两个应该同时闪烁的图像。我在安卓系统中找不到任何可以做到这一点的东西。我正在尝试做的是,创建一个每1秒运行一次的处理程序,并尝试设置标记的图标。但它不起作用。请把我引向正确的方向 我现在的代码如下 Handler handler = new Handler(); Boolean marker_color_bool = true; //adding marker and sending the marker instance to marke

我想实现一个标记动画,比如GIF动画。我得到了两个应该同时闪烁的图像。我在安卓系统中找不到任何可以做到这一点的东西。我正在尝试做的是,创建一个每1秒运行一次的处理程序,并尝试设置标记的图标。但它不起作用。请把我引向正确的方向

我现在的代码如下

  Handler handler = new Handler();
  Boolean marker_color_bool = true;

//adding marker and sending the marker instance to marker_animation() method where handler is called.

MarkerOptions marker = new MarkerOptions()
                .title(delivery_center_name)
                .snippet("This is the " + delivery_center_name + " location")
                .position(location)
                .icon(BitmapDescriptorFactory.fromResource(R.drawable.red_marker));

        google_map.addMarker(marker);

        marker_animation(marker);
marker_animation()方法

这种方法行不通,请帮我找出我做错了什么

请帮帮我,我做错了什么

您正在修改不再使用的对象。一旦调用了
addMarker()
,则
MarkerOptions
对象就没有进一步的意义,但这是您通过
postDelayed()
逻辑修改的内容

(顺便说一句,您不需要
处理程序
,因为
postDelayed()
在任何
视图上都可用)

addMarker()
返回一个
标记。您需要通过
setIcon()
使用该
标记来影响更改


另外,由于位图没有改变,我建议缓存两个
BitmapDescriptor
对象,而不是每次都重新创建它们。

如果人们在评论中给出问题被否决的原因,那会更好。这样我和其他人都能理解并学会如何有效地提问。谢谢…-)你能把你的答案贴到这个答案上吗?@PabloCegarra我用的是Marker而不是Marker选项。Marker=新标记()。还有setIcon,它可以改变动画处理程序中的图标。你找到解决方案了吗?@Regis_AG是的,请为我的解决方案找到上面的注释。是的,最后我用marker而不是markeroptions解决了这个问题,还有marker.setIcon。我希望在这个标记图像中有一个加载指示器,我的标记图像是一个自定义图像,我该怎么做?@neena:如果说“加载指示器”,你指的是不受支持的动画。是的,我需要动画说明加载,如果不受支持,我该怎么做?@neena:我想你的进度指示器应该在其他地方。
 private final int ONE_SECONDS = 1000;
public void marker_animation(final MarkerOptions marker ) {

    handler.postDelayed(new Runnable() {
        public void run() {

            Log.e("running",""+marker_color_bool);

            if(marker_color_bool == true)
            {

                marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.green_marker));
                marker_color_bool = false;
            }
            else
            {
                marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.red_marker));
                marker_color_bool = true;
            }

            handler.postDelayed(this, ONE_SECONDS);
        }
    }, ONE_SECONDS);
}