Cómo mostrar la animación de ondulación en google map en Android?

Estoy intentando fijar la animación de la ondulación en el google map usando Lat-Lng específico, vea por favor esto que describe exactamente lo que quiero, me referí encima del acoplamiento pero incapaz de fijar la animación en el google map .

Lo que he intentado hasta ahora es-

Mi código xml:

 <com.test.custom.RippleBackground xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/rippleLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone" app:rb_color="#0099CC" app:rb_duration="5000" app:rb_radius="32dp" app:rb_rippleAmount="4" app:rb_scale="6" > <ImageView android:id="@+id/imgMapProfile" android:layout_width="64dp" android:layout_height="64dp" android:layout_centerInParent="true" android:src="@drawable/ic_profile_active" /> </com.test.custom.RippleBackground> 

Mi código Java para colocar ripple en google map:

  LatLng currentAddressLatLong; currentAddressLatLong = new LatLng(gps.getLatitude(), gps.getLongitude()); RippleBackground rippleLayout=(RippleBackground)findViewById(R.id.rippleLayout); rippleLayout.setVisibility(View.VISIBLE); ImageView imgMapProfile=(ImageView)findViewById(R.id.imgMapProfile); Bitmap markerUserBitmap = Comman.createDrawableFromView(NearByActivity.this, rippleLayout); googleMap.addMarker(new MarkerOptions().position(currentAddressLatLong).icon(BitmapDescriptorFactory.fromBitmap(markerUserBitmap))); googleMap.moveCamera(CameraUpdateFactory.newLatLng(currentAddressLatLong)); googleMap.animateCamera(CameraUpdateFactory.zoomTo(11)); rippleLayout.startRippleAnimation(); // Convert a view to bitmap function public static Bitmap createDrawableFromView(Context context, View view) { DisplayMetrics displayMetrics = new DisplayMetrics(); ((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); view.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); view.measure(displayMetrics.widthPixels, displayMetrics.heightPixels); view.layout(0, 0, displayMetrics.widthPixels, displayMetrics.heightPixels); view.buildDrawingCache(); Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); view.draw(canvas); return bitmap; } 

Pero el mapa de bits no se está animando. por favor ayuda. muchas gracias.

Para todos los que quieren crear ripple de fondo en google map como este introduzca la descripción de la imagen aquí

  1. Cree 3 GroundOverlay con el mismo círculo. Poner la imagen en una carpeta
  2. Crear animador de valor
  3. Enviar 3 GroundOverlay en ValueAnimator periódicamente Debajo de código: Inside onCreateView
  new Handler().postDelayed(new Runnable() { @Override public void run() {final GroundOverlay groundOverlay11=googleMap.addGroundOverlay(new GroundOverlayOptions() .position(latLng, 2000) .transparency(0.5f) .image(BitmapDescriptorFactory.fromResource(R.drawable.krug))); OverLay(groundOverlay11); } }, 0); 
  new Handler().postDelayed(new Runnable() { @Override public void run() { final GroundOverlay groundOverlay1=googleMap.addGroundOverlay(new GroundOverlayOptions() .position(latLng, 2000) .transparency(0.5f) .image(BitmapDescriptorFactory.fromResource(R.drawable.krug))); OverLay(groundOverlay1); } }, 4000); new Handler().postDelayed(new Runnable() { @Override public void run() { final GroundOverlay groundOverlay2=googleMap.addGroundOverlay(new GroundOverlayOptions() .position(latLng, 2000) .transparency(0.5f) .image(BitmapDescriptorFactory.fromResource(R.drawable.krug))); OverLay(groundOverlay2); } }, 8000); 

Y la clase Overlay:

 public void OverLay(final GroundOverlay groundOverlay){ vAnimator = ValueAnimator.ofInt(0, 2000); int r=99999; vAnimator.setRepeatCount(r); //vAnimator.setIntValues(0, 500); vAnimator.setDuration(12000); vAnimator.setEvaluator(new IntEvaluator()); vAnimator.setInterpolator(new LinearInterpolator()); vAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { float animatedFraction = valueAnimator.getAnimatedFraction(); Integer i = (Integer) valueAnimator.getAnimatedValue(); groundOverlay.setDimensions(i); } }); vAnimator.start(); } 

Hay una biblioteca de Android para mostrar efectos de rizo en google maps. Utilizando esta biblioteca, sólo se necesita 2 líneas de código para mostrar el efecto de rizo en google maps según su pregunta. Visite este enlace para que la biblioteca muestre ripple: https://github.com/aarsy/GoogleMapsRippleEffect

  • google maps api clave no funciona v2
  • Google maps esconde el título de marcador en Android
  • Almacenamiento en caché de Google Maps en MapActivity
  • Cómo ampliar y agregar marcador a android mapfragment
  • Android Maps: No se pudo cargar el mapa. No se pudo contactar con los servidores de Google
  • Cómo envolver el fragmento GoogleMap en un LinearLayout?
  • Agregar objeto 3D para asignar y desplazar alrededor de él
  • Google Maps Android Clustering OnCameraChangeListener () despreciado
  • Cómo mantener sin problemas el marcador de ubicación actual en Google Maps v2 android
  • import com.google.android.gms.location.LocationClient no se puede resolver
  • Mapa de Google que muestra texto de derechos de autor adicional en algunos dispositivos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.