PDF de programación - Utilización de coordenadas espaciales para establecer la geolocalización de un POI

Imágen de pdf Utilización de coordenadas espaciales para establecer la geolocalización de un POI

Utilización de coordenadas espaciales para establecer la geolocalización de un POIgráfica de visualizaciones

Publicado el 3 de Noviembre del 2018
526 visualizaciones desde el 3 de Noviembre del 2018
965,0 KB
12 paginas
Creado hace 11a (26/07/2012)
Guía N° 2 Universidad de El Salvador

Universidad de El Salvador

Facultad de Ingeniería y Arquitectura

Escuela de Ingeniería en Sistemas

Programación en Dispositivos Móviles

Utilización de coordenadas espaciales para establecer la geo-

localización de un POI



Responsable


Ing. César Augusto González Rodríguez



Colaboradores


Bryan Josué Rodríguez Parada
Alexandra María Cañas Tovar
José Antonio Sánchez Delgado
Luis Alejandro González



Taller


Sistema de geo localización de espacios físicos de la FIA



Requisitos de los participantes


 Conocimientos básicos de JAVA y XML.
 Preferiblemente un móvil (smartphone) con gps, Sistema operativo Android 2.2 o

superior.



Duración del taller
2 horas

2012


Página 1


Comienzo del taller


Guía N° 2 Universidad de El Salvador

En la sesión anterior realizamos la activity que permitía capturar una foto y al mismo tiempo
recuperarla a la activity principal. Por lo cual ahora desarrollaremos la activity que permita
extraer las coordenadas georeferenciales de un POI (Punto de Interés Especifico) y permita
mandarlas al servidor asignado. Por lo cual debemos acoplar al proyecto el siguiente código.

a) Visualización del XML

La interfaz de tu Activity se vera de la siguiente manera:



b) Complementar la Activity SendImageActivity

Luego pasaremos a complementar la activity SendImageActivity, añadiendo el código que se
presente a continuación al código que ya se tenía dentro de dicha Activity, según como se
indique:

Dentro de la clase, usted observara ciertos comentarios en donde se indica que deberá
agregar cierto código que se coloca correlativamente como código uno, código dos, código
tres, etc.



2012


Página 2

Guía N° 2 Universidad de El Salvador



1. Código uno: Agregar las librerías iniciales



import java.util.ArrayList;
import java.util.List
import com.gtworldmobile.classes.Uploader;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.SharedPreferences;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.AsyncTask;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.CheckBox;
import android.widget.EditText;



2. Código 2: URL conexión con el servidor y creación de variables



private String URL = "";

private static String CREARPOI_SERVICES="GTWorld/CrearPoi";
public String ip_cargada= "";
String nombrePref = "preferencias";

List<String> parametros;
Button guardar;
Button obtenerDir;
Spinner tipo_poi;
TextView dirPath;
CheckBox checkbox_poi;
EditText nombre_poi;
EditText descripcion_poi;
EditText latitud_poi;
EditText longitud_poi;
EditText altitud_poi;
EditText url_poi;
TextView direccion_poi;


LocationManager locationManager;

private ProgressDialog progress;
private Activity crearPoi;
Uploader ups;



2012


Página 3



3. Código 3: Obtención desde el SharedPreferences la ip utilizada para conexión

Guía N° 2 Universidad de El Salvador

SharedPreferences prefs =
getSharedPreferences("preferencias",Context.MODE_PRIVATE);
ip_cargada= prefs.getString("ip", "");
URL=ip_cargada.concat(CREARPOI_SERVICES);


4. Código 4: Agregar el servicio de localización y uso de los componentes

crearPoi = this;

locationManager = (LocationManager) this
.getSystemService(Context.LOCATION_SERVICE);

guardar = (Button) findViewById(R.id.boton_guardar_poi);
obtenerDir = (Button) findViewById(R.id.obtener_dir);

tipo_poi = (Spinner) findViewById(R.id.tipoPoi);
nombre_poi = (EditText) findViewById(R.id.nombre_poi);
url_poi = (EditText) findViewById(R.id.url_poi);
descripcion_poi = (EditText) findViewById(R.id.descripcion_poi);
checkbox_poi = (CheckBox) findViewById(R.id.checkbox_poi);

latitud_poi = (EditText) findViewById(R.id.latitud_poi);
longitud_poi = (EditText) findViewById(R.id.longitud_poi);
altitud_poi = (EditText) findViewById(R.id.altitud_poi);
direccion_poi = (TextView) findViewById(R.id.direccion_poi);

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.tipo_pois, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

tipo_poi.setAdapter(adapter);


obtenerDir.setOnClickListener(onClickGenerico);
guardar.setOnClickListener(onClickGenerico);


5. Código 5: Colocar la funcionalidad a los botones



2012


Página 4

Guía N° 2 Universidad de El Salvador


if (v.getId()==R.id.obtener_dir){
//Si el click lo dio el boton de guardar
poi....ejecutamos este codigo

Geocoder g = new Geocoder(getApplicationContext());
List<Address> ad = null;
try {
ad = g.getFromLocation(

Double.valueOf(latitud_poi.getText().toString()),

Double.valueOf(longitud_poi.getText().toString()), 1);
} catch (Exception e) {
e.printStackTrace();
}
if (ad != null && ad.isEmpty() == false) {
direccion_poi.setText(ad.get(0).getThoroughfare() +
","
+ ad.get(0).getSubAdminArea() + ","
+ ad.get(0).getCountryName());
}
//hasta aqui el codigo del clic a la obtencion de
direccion
}

if (v.getId()==R.id.boton_guardar_poi){
parametros = new ArrayList<String>();

// ----- VALIDAR CAMPOS----------------------------------
----
boolean valido = true;

if (nombre_poi.getText().toString().length() > 1)
parametros.add(nombre_poi.getText().toString());
else
valido = false;
parametros.add(descripcion_poi.getText().toString());
if (checkbox_poi.isChecked())
parametros.add("1");
else
parametros.add("0");
parametros.add(url_poi.getText().toString());

if (latitud_poi.getText().toString().length() > 0)
parametros.add(latitud_poi.getText().toString());
else
valido = false;

if (longitud_poi.getText().toString().length() > 0)
parametros.add(longitud_poi.getText().toString());
else
valido = false;

if (altitud_poi.getText().toString().length() > 0)
parametros.add(altitud_poi.getText().toString());
else
valido = false;

2012


Página 5

Guía N° 2 Universidad de El Salvador



// Obtener idUser de shared preferences
SharedPreferences prefs =
getSharedPreferences(nombrePref,
MODE_PRIVATE);

parametros.add(prefs.getString("id", ""));
//
...........................................................

parametros.add(String.valueOf((tipo_poi
.getSelectedItemPosition() + 1)));

if (direccion_poi.getText().toString().length() > 0)
parametros.add(direccion_poi.getText().toString());
else
parametros.add("No especificada");

if (valido) {

new EnviarDatos().execute();

} else {
Toast.makeText(SendImageActivity.this, "Campos no
validos",
Toast.LENGTH_LONG).show();
}

}


6. Código 6: Método de obtención de las coordenadas georeferenciales



LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {

latitud_poi.setText(String.valueOf(location.getLatitude()));

longitud_poi.setText(String.valueOf(location.getLongitude()));

altitud_poi.setText(String.valueOf(location.getAltitude()));

}
public void onProviderDisabled(String provider) {

}
public void onProviderEnabled(String provider) {

}
public void onStatusChanged(String provider, int status,
Bundle extras) {

}

};

2012


Página 6



7. Código 7: Método de onPause y onResume

Guía N° 2 Universidad de El Salvador

@Override
public void onPause() {
super.onPause();
locationManager.removeUpdates(locationListener);
}

@Override
public void onResume() {
super.onResume();

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
0, locationListener);
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 0,
locationListener);

}


8. Código 8: Método de subida de datos


public class EnviarDatos extends AsyncTask<Void, Void, Void> {
List<String> estatus = new ArrayList<String>();
  • Links de descarga
http://lwp-l.com/pdf14108

Comentarios de: Utilización de coordenadas espaciales para establecer la geolocalización de un POI (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad