0

データベースの座標を使用して、マーカーを 1 つずつ mapView に追加しています。一度にすべてのマーカーをアニメーション化する必要があります。

追加されたすべてのマーカーにアニメーションを追加するループでは、最後に追加されたマーカーのみが機能します

    **code for adding markers to map is:**

    Marker marker;



         do
            {

            marker= mapView.addMarker(new MarkerOptions()
                                                .position(new LatLng(latitude, longitude))
                                                .icon(BitmapDescriptorFactory
                                                        .fromBitmap((bitmap)))
                                                .snippet(text + "             ")
                                                .title(mine_name));

   //handling animation
  applyed Bounce Interpolator
       final Handler handler = new Handler(); 
                                  final long start = SystemClock.uptimeMillis(); 
                                  Projection proj =mapView.getProjection(); 
                                  Point startPoint =proj.toScreenLocation(new LatLng( latitude,longitude)); 
                                  startPoint.offset(0, -100); 
                                  final LatLng startLatLng = proj .fromScreenLocation(startPoint);
                                  final long duration = 1500; 
                                  final Interpolator interpolator = new BounceInterpolator();
                                  handler.post(new Runnable() {

                                  @Override public void run() { 
                                      long elapsed =SystemClock.uptimeMillis() - start;
                                      float t =interpolator .getInterpolation((float) elapsed /
                                  duration); 
                                      double lng = t * new LatLng(latitude,longitude).longitude + (1 - t) *
                                  startLatLng.longitude; 
                                      double lat = t * new LatLng(latitude, longitude).latitude + (1 - t) *
                                  startLatLng.latitude; 
                                      marker.setPosition(new LatLng(lat, lng)); 
                                      if (t < 1.0) { 
                                      // Post again 16ms later.
                                  handler.postDelayed(this, 32); } } });

                }while(count>0)

しかし、最後に追加されたピンで機能しています。一度にすべてのピンのアニメーションを操作する必要があります (つまり、ピンに同時に反映されるアニメーション)

前もって感謝します。

4

0 に答える 0