Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Animación de círculo en el mapa de google en android

Haciendo la animación del círculo en el mapa de google usando la animación de valor, pero la animación se parpadea y parpadea todo el tiempo.

Aquí hay un código,

CircleOptions circleOptions = new CircleOptions() .center(searchStopPoint) //set center .radius(100) //set radius in meters .strokeColor(Color.TRANSPARENT) .fillColor(0x555751FF) .strokeWidth(5); busStopCircle = googleMap.addCircle(circleOptions); ValueAnimator valueAnimator = new ValueAnimator(); valueAnimator.setRepeatCount(ValueAnimator.INFINITE); valueAnimator.setRepeatMode(ValueAnimator.RESTART); valueAnimator.setIntValues(0, 100); valueAnimator.setDuration(3000); valueAnimator.setEvaluator(new IntEvaluator()); valueAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { float animatedFraction = valueAnimator.getAnimatedFraction(); busStopCircle.setRadius(animatedFraction * 100); } }); valueAnimator.start(); 

¿Puede alguien me ayuda a hacer la animación suave sin parpadeo ..

Gracias

  • Usar google maps sin conexión en una aplicación
  • Cómo obtener la latitud y la longitud en el mapa en Android?
  • La adición de nuevos marcadores en el mapa utilizando el gestor de clúster no refleja los cambios hasta que haga zoom y aleje el mapa
  • DefaultClusterRenderer getMarker () devuelve null cuando se hace zoom
  • Androide MapView en el fragmento
  • Dibujar círculo de cierto radio en la vista de mapa en android
  • Android - API de Google Maps v2 - Errores de SupportMapFragment
  • Cómo mostrar el texto en un marcador personalizado dibujable
  • One Solution collect form web for “Animación de círculo en el mapa de google en android”

    Este es un problema conocido . Una solución sería utilizar un GroundOverlay en lugar de un círculo.
    He aquí un ejemplo:
    Cree el círculo:

     // The drawable to use for the circle GradientDrawable d = new GradientDrawable(); d.setShape(GradientDrawable.OVAL); d.setSize(500,500); d.setColor(0x555751FF); d.setStroke(5, Color.TRANSPARENT); Bitmap bitmap = Bitmap.createBitmap(d.getIntrinsicWidth() , d.getIntrinsicHeight() , Bitmap.Config.ARGB_8888); // Convert the drawable to bitmap Canvas canvas = new Canvas(bitmap); d.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); d.draw(canvas); // Radius of the circle final int radius = 100; // Add the circle to the map final GroundOverlay circle = map.addGroundOverlay(new GroundOverlayOptions() .position(searchStopPoint, 2 * radius).image(BitmapDescriptorFactory.fromBitmap(bitmap))); 

    Ahora cambia tu animador a esto:

     ValueAnimator valueAnimator = new ValueAnimator(); valueAnimator.setRepeatCount(ValueAnimator.INFINITE); valueAnimator.setRepeatMode(ValueAnimator.RESTART); valueAnimator.setIntValues(0, radius); valueAnimator.setDuration(3000); valueAnimator.setEvaluator(new IntEvaluator()); valueAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { float animatedFraction = valueAnimator.getAnimatedFraction(); circle.setDimensions(animatedFraction * radius * 2); } }); valueAnimator.start(); 

    ACTUALIZACIÓN : Este problema ha sido corregido

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.