Curso-Android-Desarrollo-de-Aplicaciones-Móviles
Curso-Android-Desarrollo-de-Aplicaciones-Móviles
Curso-Android-Desarrollo-de-Aplicaciones-Móviles
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CURSO ANDROID<br />
68<br />
represente este Overlay mostrando la imagen seleccionada. Para este ejemplo se utilizará la imagen <strong>de</strong>l<br />
ícono, al <strong>de</strong>finirla <strong>de</strong>ntro <strong>de</strong> la misma clase <strong>de</strong> la Activity principal entonces será una clase privada.<br />
class MyOverlay extends Overlay { }<br />
Tendremos una variable <strong>de</strong> instancia representando el punto don<strong>de</strong> se colocará el marcador y será un<br />
parámetro recibido por el constructor:<br />
GeoPoint point;<br />
/* El constructor recibe el punto don<strong>de</strong> se dibujará el marker */<br />
public MyOverlay(GeoPoint point) {<br />
super();<br />
this.point = point;<br />
}<br />
Sobrecargaremos el método draw para dibujar nuestro marker:<br />
@Overri<strong>de</strong><br />
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when)<br />
{<br />
super.draw(canvas, mapView, shadow);<br />
//se traduce el punto geo localizado a un punto en la pantalla<br />
Point scrnPoint = new Point();<br />
mapView.getProjection().toPixels(this.point, scrnPoint);<br />
//se construye un bitmap a partir <strong>de</strong> la imagen<br />
Bitmap marker = BitmapFactory.<strong>de</strong>co<strong>de</strong>Resource(getResources(), R.drawable.icon);<br />
//se dibuja la imagen <strong>de</strong>l marker<br />
canvas.drawBitmap(marker, scrnPoint.x - image.getWidth() / 2, scrnPoint.y -<br />
marker.getHeight() / 2, null);<br />
return true;<br />
}<br />
El código completo <strong>de</strong> la clase para los overlays es el siguiente:<br />
class MyOverlay extends Overlay {