9

Chcę dodać animowane koło do widoku Map Google podobne do koła widocznego na tym obrazie.Google Maps Android API v2: Wizualizacja promienia wyszukiwania za pomocą funkcji ValueAnimator

enter image description here

Krąg powinien być pulsujące od środka do największego promienia wskazującą lokalizację bieżącego użytkownika i obszar poszukiwań.

Oto istotne blok kodu

Circle circle = mMap.addCircle(new CircleOptions() 
    .center(new LatLng(lat, lon)) 
    .strokeColor(Color.CYAN).radius(1000)); 
    valueAnimator = new ValueAnimator(); 
    valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { 
     @Override 
     public void onAnimationUpdate(ValueAnimator valueAnimator) { 
     float animatedFraction = valueAnimator.getAnimatedFraction(); 
     circle.setRadius(animatedFraction * 1000); 
     circle.setStrokeWidth(1 + animatedFraction * 7); 
     } 
     }); 

Z tym kodem jestem tylko w stanie zobaczyć statyczną okręgu skok bez animacji.

Każda pomoc zostanie doceniona. Z góry dzięki.

Odpowiedz

28

prostu :)

final Circle circle = MAP.addCircle(new CircleOptions().center(EGYPT) 
      .strokeColor(Color.CYAN).radius(100)); 

    ValueAnimator vAnimator = new ValueAnimator(); 
    vAnimator.setRepeatCount(ValueAnimator.INFINITE); 
    vAnimator.setRepeatMode(ValueAnimator.RESTART); /* PULSE */ 
    vAnimator.setIntValues(0, 100); 
    vAnimator.setDuration(1000); 
    vAnimator.setEvaluator(new IntEvaluator()); 
    vAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); 
    vAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { 
     @Override 
     public void onAnimationUpdate(ValueAnimator valueAnimator) { 
      float animatedFraction = valueAnimator.getAnimatedFraction(); 
      // Log.e("", "" + animatedFraction); 
      circle.setRadius(animatedFraction * 100); 
     } 
    }); 
    vAnimator.start(); 
+1

prostu działa :) Dzięki! – Juniper

+0

Animacja działa do momentu wyświetlenia znaczników. Gdy znaczniki są wyświetlane, animacja znika. Bez względu na to, gdzie nazywam 'vAnimator.start();' nie jest już wizualizowany, ale jednocześnie widzę w LogCat, że jest on przetwarzany. Czy masz jakieś przypuszczenia, dlaczego animacja nie jest wizualizowana za pomocą znaczników? – Juniper

+1

Moje koło ma kolor wypełnienia, ale znika po animacji. Co powinienem zrobić? – DixieFlatline

Powiązane problemy