M0286_Libro Curso

Android

Como lo que queremos es, que el extremo puntiagudo del alfiler sea el que nos indique la posición de la ubicación, deberemos restar la altura de la imagen (50 píxeles en nuestro caso) de la coordenada del punto, y que señale a la imagen en ese lugar.

Punto para dibujar la imagen screenPts . x , screenPts . y -50

screenPts . x , screenPts . y Localización del punto Para agregar el marcador, debemos crear una instancia de la clase MapOverlap y agregarlo a la lista de plantillas disponibles en el objeto MapView : // Añadir la chincheta MapOverlay mapOverlay = new MapOverlay(); List listOfOverlays = mapView.getOverlays(); // limpiar puntos listOfOverlays.clear(); listOfOverlays.add(mapOverlay); La clase quedaría de la siguiente manera con todo lo insertado hasta este momento: package com.seas.ejemplo.GoogleMaps; import java.util.List; import android.graphics.Bitmap; import android.graphics.BitmapFactory;

import android.graphics.Canvas; import android.graphics.Point; import android.os.Bundle; import android.view.KeyEvent;

import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapController; import com.google.android.maps.MapView; import com.google.android.maps.Overlay; public class MapsActivity extends MapActivity { MapView mapView; MapController mc;

170

Made with FlippingBook - Online catalogs