Lo he conseguido!!!!! Buscando encuentras. VIVA LA API DE GOOGLE!!!!!!!!!!!!!!!!
He conseguido poner un marcador que tenga un listener (no es un listener en realidad) y que me habra un dialog TOMA!!! jajajaja
Bueno me explico un poco, para pintar en el mapa me ayudaba de las capas de Overlay fijándome en la ayuda de google (
http://code.google.com/intl/es-ES/an...pis/index.html)
me he dado cuenta que existe la clase OverlayItem que es la base de otra clase llamada ItemizedOverlay. Esta última clase le pone foco a cada uno de los items que pinto en el mapa, fijaros como:
Código:
public class MapViewPruebaActivity extends MapActivity {
/** Called when the activity is first created. */
private Drawable drawable = this.getResources().getDrawable(R.drawable.marcador_google_maps);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MapView mapView = (MapView) findViewById(R.id.mapa);
mapView.setBuiltInZoomControls(true);
List<Overlay> capas = mapView.getOverlays();
PonerMarcas poner = new PonerMarca(drawable, this);
GeoPoint point = new GeoPoint(latitud,longitud);
OverlayItem item = new OverlayItem(point, "Titulo", "Info del punto");
poner.addOverlay(item);
capas.add(poner);
}
.........
....
}
Fijaros que el código es facilísimo y muy parecido a la opción Overlay solo que aquí creo un objeto OverlayItem. La clase PonerMarcas deriva de ItemizedOverlay y con el método onTap pongo el dialogo.
Código:
public class PonerMarcas extends ItemizedOverlay{
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
Context mContext;
public PonerMarcas(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}
public PonerMarcas(Drawable defaultMarker, Context context) {
super(boundCenterBottom(defaultMarker));
mContext = context;
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
@Override
public int size() {
return mOverlays.size();
}
@Override
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
}
Bueno creo que con el código esta todo perfectamente explicado no? La verdad es que no soy muy bueno explicandome por eso pongo el código!!
Muchas gracias a todos!!!