Android: trazado de dibujo como superposición en MapView

Tengo una clase que extiende la superposición y las aplicaciones Overlay.Snappable. Tengo overriden su método del drenaje :

@Override public void draw(Canvas canvas, MapView mv, boolean shadow) { Projection projection = mv.getProjection(); ArrayList<GeoPoint> geoPoints = new ArrayList<GeoPoint>(); //Creating geopoints - ommited for readability Path p = new Path(); for (int i = 0; i < geoPoints.size(); i++) { if (i == geoPoints.size() - 1) { break; } Point from = new Point(); Point to = new Point(); projection.toPixels(geoPoints.get(i), from); projection.toPixels(geoPoints.get(i + 1), to); p.moveTo(from.x, from.y); p.lineTo(to.x, to.y); } Paint mPaint = new Paint(); mPaint.setStyle(Style.FILL); mPaint.setColor(0xFFFF0000); mPaint.setAntiAlias(true); canvas.drawPath(p, mPaint); super.draw(canvas, mv, shadow); } 

Como puede ver, hago una lista de puntos en un mapa y quiero que formen una forma poligonal.

Ahora, el problema es que cuando configuro el estilo de pintura como FILL o FILL_AND_STROKE, nada aparece en la pantalla, pero cuando lo configuro para que sea sólo un trazo, y establecer el ancho del trazo, se extrae lo que se supone dibujar.

Ahora, busqué la solución, pero no surge nada. ¿Puede decirme si algo me faltaba para establecer el código en sí mismo, o hay algún tipo de restricciones al dibujar sobre lienzos de superposición?

Gracias

Unas pocas cosas. Debería usar p.moveTo(from.x, from.y); Sólo una vez, es decir, la primera vez que desee hacerlo por primera vez.

Pruebe esto para establecer atributos para el objeto de paint utilizado para pintar el polígono.

 polygonPaint = new Paint(); polygonPaint.setStrokeWidth(2); polygonPaint.setStyle(Paint.Style.STROKE); polygonPaint.setAntiAlias(true); 

Espero que esto ayude.

  • Dibujar superposición en Android (en todo el sistema)
  • Comportamiento extraño en el navegador de Android al seleccionar campos
  • No lleve el botón al primer plano al hacer clic
  • ¿Cómo crear una superposición que bloquea los eventos de toque a la interfaz de usuario debajo de él?
  • Entender boundCenterBottom ()
  • ¿Se puede ampliar el tamaño de la superposición con el mapa de google en android?
  • Teclado sobre EditText en segundo clic
  • ¿Cómo puedo dibujar una flecha que muestre la dirección de manejo en MapView?
  • ¿Cómo puedo poner una vista encima de un glSurfaceView con un fondo transparente?
  • Barra de herramientas Android superpuesta TabLayout en CollapsingToolbarLayout
  • Android: ItemizedOverlay onTouchEvent y onTap se superponen
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.