8

GIFアニメーションなどのマーカーアニメーションを実現したいです。私は同時に点滅すべき2つの画像を得た。私はアンドロイドでこれを達成できるものは何も見つかりませんでした。私は1秒ごとに実行されるハンドラを作成しようとしており、マーカーのアイコンを設定しようとしています。しかし、それは動作しません。私を正しい方向に導いてください。Googleマップ内のマーカーのGIFタイプのアニメーションapi ANDROID

私のコードは以下の通りです。

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()メソッド

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); 
} 

このアプローチはwork..Pleaseは私が間違っているの何私を助けてdoesntの。

+0

質問が投票された理由として、人々がコメントに理由を挙げるとよいでしょう。私と他の人が理解し、効果的に質問する方法を学ぶことができるように。ありがとう.. :-) –

+0

この回答にあなたのソリューションを投稿できますか? –

+0

@PabloCegarraマーカーオプションの代わりにマーカーを使用しています。マーカー=新しいマーカー()。また、アニメーションハンドラ内のアイコンを上記のコードから変更するsetIconを持っています。 –

答えて

5

あなたはもはや使用されているオブジェクトを変更している

私が間違っているの何私を助けてください。 addMarker()が呼び出されると、MarkerOptionsオブジェクトは意味を持ちませんが、これはpostDelayed()ロジックを使用して変更するものです。 Markerを返しaddMarker()

postDelayed()がどのView上で利用可能になるとところで、あなたは、Handlerを必要としない)

setIcon()で変更内容に影響を与えるには、Markerで作業する必要があります。

また、ビットマップが変更されていないので、すべてのパスで再作成するのではなく、2つのBitmapDescriptorオブジェクトをキャッシュすることをお勧めします。

+1

結局私はそれをmarkeroptionsの代わりにmarkerとmarker.seticonで解決しました。 –

+0

マーカー画像内にローディングインジケータがあり、マーカー画像がカスタム画像の場合はどうしたらいいですか? – neena

+0

@ニーナ:「ローディングインジケータ」によって、何かがアニメーション化されている、つまりサポートされていないことを意味する場合。 – CommonsWare

関連する問題