Android Maps V2: El relleno de polígono desaparece al alejar el zoom
Estoy tratando de mostrar múltiples polígonos en mi MapView, algunos de ellos se superponen y tienen diferentes colores. Cuando los agrego todo parece bueno, pero tan pronto como alejo, muchos (no todos) de los polígonos dejan de ser llenados. El zoom hacia adelante y hacia atrás y desplazamiento a veces llena algunos de ellos de nuevo, pero parece ser comportamiento al azar.
El código para agregar los polígonos:
- Android no puede encontrar el método de símbolo getMap ()
- Cómo ocultar / mostrar grupos de marcadores por categoría con Google Maps en Android?
- Npm WARN [email protected] requiere un par de react @> = 15.4.0 pero no se ha instalado ninguno
- Cordova Phonegap y Google Maps v3 javascript api: Cómo agregar funciones backbutton al hacer clic en el enlace de la licencia o el logotipo de Google Maps
- Después de eliminar los eventos de tapa de OverlayItem todavía activan
clearAreas(); for (Area area: areas) { for (List<LatLng> subArea: area.getSubAreas()) { mAreaPolygons.add(getMap().addPolygon( new PolygonOptions() .strokeWidth(2.0f) .zIndex(++zIndex) .strokeColor(area.getColor()) .fillColor(area.getTransparentColor()) .addAll(subArea))); } }
Entiendo que (de acuerdo con la documentación) un polígono no será llenado si su geometría no se especifica correctamente. He intentado agregar los puntos en el sentido de las agujas del reloj y en el sentido contrario a las agujas del reloj, no hace ninguna diferencia.
¿Puede alguien explicar este comportamiento?
Actualización : Si el depurador está conectado, todo funciona perfectamente! Los polígonos están llenos y permanecen llenos cuando se aleja. Tan pronto como separo el depurador, los polígonos comienzan a perder su relleno de nuevo. ¿Que está pasando aqui?
Actualización # 2 : El problema aparece en mi Galaxy S3. Sorprendentemente, funciona en un dispositivo más lento, más antiguo! Desde adjuntar un depurador hace que la aplicación se vuelve muy lento, tal vez hay algún tipo de conexión aquí?
Muchas gracias, Marco
- Cómo dibujar un camino en un mapa con el archivo kml?
- Animación de tipo GIF para marcador en google map api ANDROID
- ¿Debo usar AsyncTask o IntentService para mi aplicación?
- Google Maps Android API v2 ClassNotFound Error de tiempo de ejecución
- Cómo obtener el largo y lat valor de cuatro esquinas en el mapa en android?
- Android: onCreate no se ejecuta en una FragmentActivity cuando su XML correspondiente está inflada?
- Dibujar círculo de cierto radio en la vista de mapa en android
- Cómo mostrar la ubicación actual como flecha en Google Maps Android API V2?
Esto huele a roscar si lo que has dicho en tus dos actualizaciones es cierto. En algún lugar tienes problemas de segmentación. Con sólo el fragmento de código que has proporcionado, nada parece fuera de lugar, pero se requiere un examen del resto de su código para averiguar esto. Lo más probable es que la llamada a dibujar estos polígonos se inicie antes de que la vista esté lista para ser dibujada. Sin ver nada, sugeriría algo a lo largo de estas líneas para acercarse a una solución:
mMap.setOnCameraChangeListener(new OnCameraChangeListener() { @Override public void onCameraChange(CameraPosition pos) { if (pos.zoom != currentZoom) { mMap.post(new Runnable() { public void run() { // TODO: call the method that wraps the code you provided }); } });
Lo que esto hará es llamar a la Runnable
que proporcionó aquí después de que las vistas se hacen renderizado. Esto puede no funcionar como se pretende en la vista de mapa, es posible que tenga que publicarlo en una cola diferente o realizar una publicación diferida. No estoy familiarizado con el marco del mapa para saber con seguridad que esto lo solucionará, pero definitivamente suena como que hay problemas de subprocesos aquí.
- Java.lang.NoClassDefFoundError: com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential
- Android equivelent al programa de afiliados de iTunes, api de streaming de música y participación de beneficios