Acceder

Ver la Versión Completa : [ CONSULTA ] MapView


FartBomb
11/03/12, 22:06:29
Hola a todos, mi pregunta es la sigueinte:
¿como se podria hacer para que el usuario en un mapview pudiese agregar marcas y se quedasen guardadas en un base splite o mejor seria en un servidor externo a la app?
Además una vez guardada la ubicación que se pudiese ver luego en el mapa pintada con una marca k haya puesto el usuario, y una vez cerrada la aplicación y vuelta a abrir las marcas sigan pintadas en el mapview

Muchas gracias .

Un saludo

monchyrcg
11/03/12, 22:45:16
Aquí viene explicado perfectamente, luego lo manejas para tu propio proyecto.
http://www.sgoliver.net/blog/?p=2004

La opción de un servidor externo no la manejo, en lo referente a sqlite es bastante sencillo:


Cursor c = db.rawQuery("SELECT .................", null);
if(c.moveToFirst()){
do{
//Realizas lo que quieras...
}while(c.moveToNext());
}

FartBomb
11/03/12, 23:22:07
pero ahi pone como hacer para que el usuario agrege marcas, sin necesidad de codigo , por ejemplo con un edittext y un boton k envie la informacion y luego pintarla e el mapa

monchyrcg
12/03/12, 09:30:58
Como?? Esto lo tienes que adaptar a tu código. Coges las coordenadas de donde sea, un textView, se la pasa un boton, de una base de datos.

FartBomb
12/03/12, 15:54:25
lo que paso ahora es que no se porque pero no me registra el id de los objetos en el proyecto del mapview,, salen en el archivo R.java pero al poner setContentView(R.layout.main); me da error , y asi con todos los id.
como puedo resolverlo?

FartBomb
12/03/12, 16:17:40
como podria hacer para que con un boton pudiese localizar la posicion actual por gmaps y almacenarla en la base de datos, creo k en sgoliver no viene como obtener la posicion actual, se me ocurrio que esa posicion la almacenaria en una variabley ya pero no se muy bn como hacerlo, ademas luego lo de pintar las marcas de la base de datos en el mapa si que no se como hacerlo, las marcas son las guardadas al dar al boton para que localice la posicion actual.
un saludo

monchyrcg
12/03/12, 17:21:57
Para obtener tu posicion: http://www.sgoliver.net/blog/?p=1887

una vez con esto yo haría algo así:

//En la activity, crearia un objeto GeoPoint con las coordenas obtenidas de donde estoy(objeto loc)
//luego puedes...
MiOverlay a = new Overlay(loc);

class MiOverlay extends Overlay{
private GeoPoint loc;

public MiOverlay(GeoPoint loc({
this.loc = loc;
}
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
this.canvas=canvas;
Projection projection = mapView.getProjection();

if(shadow){
Punto a = new Punto();
projection.toPixel(loc,a);

//Aqui pintas lo que quieras...........
}
}

}

FartBomb
12/03/12, 17:51:49
Hola de nuevo , les dejo aqui los archivos java que no consegui completar,para que me puedan ayudar a completarlo
un saludo

monchyrcg
12/03/12, 18:33:32
btnCentrar.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
//Aquí si lo quieres centrar en puntos de la base de datos
//haces un select y las coges.
String a = "SELECT * from tuTabla";
Cursor c =db.rawquery(a);
c.moveToFirst()
Double latitud =c.getString(laColumna) ;
Double longitud =c.getString(laOtraColumna ;

GeoPoint loc = new GeoPoint(latitud.intValue(), longitud.intValue());

controlMapa.setCenter(loc);
controlMapa.setZoom(10);
}
});



Busca un poco y encontraras. También piensa que lo tienes todo en tu código, solo te falta saber lo que estas haciendo. No vale de nada pegar código de otros lados y a lo loco. Entiende lo que haces y así aprenderas.
Mi humilde opinion