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


SetRadius en Circle da mala experiencia de usuario en Google Maps

Estoy tratando de implementar algo como en las muestras de Google Maps y su CircleDemoActivity :

Muestras de Android

  • No se pudo encontrar com.google.android.gms: play-services: 7.0.0
  • ¿Qué Android IDE es mejor - Android Studio o Eclipse?
  • Google Chrome en Android (y sólo en Android) No permite Decimal con número de tipo y step = "any"
  • OnConnectionSuspended. ¿Cómo probar? ¿Cuándo se ejecutará este código?
  • ¿Cómo hago referencia a los archivos jar externos en un directorio común (no libs) para construir el proyecto android usando hormiga?
  • El descubrimiento de servicio falló la excepción utilizando Bluetooth en Android
  • El problema es que, el círculo está desapareciendo y apareciendo, y he registrado ese problema

    Google Maps Ejemplo de problema

    En mi opinión esa parte debería funcionar:

     if (marker.equals(radiusMarker)) { radius = toRadiusMeters(centerMarker.getPosition(), radiusMarker.getPosition()); circle.setRadius(radius); return true; } 

    Y el problema es con el método setRadius , pero tal vez es alguna solución.

    Pregunta

    ¿Cómo arreglar eso?

  • ¿Cómo cambiar el tiempo de espera de la pantalla mediante programación?
  • API de destino de Android
  • ¿Cómo ejecutar una prueba JUnit4 simple en Android Studio 1.1?
  • Dependencia del monitor de dispositivos Android en el tiempo de ejecución de Java SE 6 heredado
  • La ejecución falló para la tarea ': app: processDebugManifest' después de Android Stdio 2.2 udpate
  • Cómo crear una notificación similar a la de Messenger de Facebook en Android
  • 2 Solutions collect form web for “SetRadius en Circle da mala experiencia de usuario en Google Maps”

    Hace unos meses tuve que implementar una animación de un círculo que crecía y se encogía bajo un marcador para informar a nuestro usuario que la ubicación del marcador no era precisamente conocida.

    En una primera implementación usé un círculo y tenía el mismo problema. Terminé usando un GroundOverlay con una imagen de círculo y no parpadea. Puede requerir más matemáticas para obtener el radio correcto.

    Espero que pueda ayudar 🙂

    Una solución sería utilizar un GroundOverlay en lugar de un círculo. He aquí un ejemplo:

     // The drawable to use for the circle GradientDrawable d = new GradientDrawable(); d.setShape(GradientDrawable.OVAL); d.setSize(500,500); d.setColor(Color.BLUE); d.setStroke(10, Color.BLACK); 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); // Maximum radius of the circle final int radius = 1000; // Add the circle to the map final GroundOverlay circle = map.addGroundOverlay(new GroundOverlayOptions() .position(latLng, 2 * radius).image(BitmapDescriptorFactory.fromBitmap(bitmap))); 

    Ahora en su código:

     if (marker.equals(radiusMarker)) { radius = toRadiusMeters(centerMarker.getPosition(), radiusMarker.getPosition()); circle.setDimensions(2 * radius); return true; 

    }

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