13.android localizacion
TRANSCRIPT
![Page 2: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/2.jpg)
GPS Red de Telefonía Movil Red WI-FI
Loalización Geográfica
![Page 3: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/3.jpg)
1 Obtener mecanismo de localizacion (location providers)
2 Establecer la mejor localizacion 3 Verificar si está habilitado
Pasos
![Page 4: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/4.jpg)
LocationManager locManager = (LocationManager)getSystemService(LOCATION_SERVICE);
List<String> listaProviders = locManager.getAllProviders();
1. Obtener mecanismos
![Page 5: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/5.jpg)
LocationProvider provider = locManager.getProvider(listaProviders.get(0));
int precision = provider.getAccuracy(); boolean obtieneAltitud = provider.supportsAltitude(); int consumoRecursos = provider.getPowerRequirement(); boolean reqCelular = provider.requiresCell(); boolean reqRed = provider.requiresNetwork(); boolean reqSat = provider.requiresSatellite();
2. Exactitud
![Page 6: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/6.jpg)
Criteria req = new Criteria(); req.setAccuracy(Criteria.ACCURACY_FINE); req.setAltitudeRequired(true);
String mejorProviderCrit = locManager.getBestProvider(req, false);
List<String> listaProvidersCrit =
locManager.getProviders(req, false);
2. Exactitud
![Page 7: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/7.jpg)
if (!locManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
mostrarAvisoGpsDeshabilitado(); }
Implementar Clase LocationListener
3. Verificar si esta habilitado
![Page 8: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/8.jpg)
Obtener ultima localizacion◦ locManager.getLastKnownLocation(LocationManag
er.GPS_PROVIDER);
Estableder frecuencia◦ locManager.requestLocationUpdates(◦ LocationManager.GPS_PROVIDER, 30000, 0,
this); Deshabilitar Rastreo
locManager.removeUpdates(this);
4. Otras funciones
![Page 9: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/9.jpg)
Instalar Google API Crear una Virtual con Google API Configurar acceso a internet Usar libreria com.google.android.maps
Mapas
![Page 10: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/10.jpg)
Keytool –list –keystore debug.keystore –storepass android –keypass android
https://developers.google.com/android/maps-api-signup
Copiar el MD5
Certificado Google
![Page 11: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/11.jpg)
Rango de puntos◦ -17.354882 y -66.189623◦ -17.429908 y -66.127481
Plaza principal ◦ -17.393847 y -66.156954
Latitud y Longitud
![Page 12: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/12.jpg)
Clase MapActivity Widget MapView Clase control MapController
=>getController() Metodos
◦ setBuiltInZoomcontrols(true)◦ isSatellite => setSatellite◦ isStreetView => setStreetView◦ isTraffic => setTraffic
Mapas en Android
![Page 13: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/13.jpg)
Centrar mapa◦ GeoPoint loc=new
GeoPoint(la.intValue,lo.intValue)◦ Control.setCenter(loc)◦ Control.setZoom(10)
Convertir LatLon a pixeles◦ Projection => getProyection()◦ Projection.toPixels(loc,punto)
Convertir pixeles a LatLon◦ Proyection => getProyection()◦ Proyection.fromPixels()
Mapas en Android (cont.)
![Page 14: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/14.jpg)
Capas => Overlay => getOverlays() Metodo =>add() Llamar a postInvalidate() para activar
overlay
Capas - Overlays
![Page 15: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/15.jpg)
Capa Base
Capas – Overlays (cont.)
Capa Intermedia
Capa Superior
![Page 16: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/16.jpg)
Capturar puntos◦ Implementar metodo onTap()◦ Point.getLatitudeE6/1E6◦ Point.getLongitudeE6/1E6
Capas – Overlays (cont.)
![Page 17: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/17.jpg)
Dibujar Circulos/Texto◦ Canvas.drawCircle(x,y,5,paint)◦ Canvas.drawText(“Texto”,x,y,paint)
Dibujar imagen◦ Bitmap
b=BitmapFactory.decodeResource(mapView.getResources(),R.drawable.imagen)
◦ Canvas.drawBitmap(b,x,y,paint)
Capas – Overlays (cont.)
![Page 18: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/18.jpg)
Geocoder g= new Geocoder(this.Locale.getDefault())
List<Address> a=g.getFromLocation(xE6,yE6,max)
Metodos Auxiliares◦ Size()◦ Get()◦ getMaxAddressLineIndex()◦ getAddressLine()
Geocoding
![Page 19: 13.android localizacion](https://reader036.vdocuments.net/reader036/viewer/2022083105/58772dc51a28ab2b2c8b6453/html5/thumbnails/19.jpg)
Geocoder g= new Geocoder(this.Locale.getDefault())
List<Address> a= g.getFromLocationName( "empire state building", 5)
Metodos Auxiliares◦ Get()◦ getLatitude()◦ getLongitud()◦ animateTo(p)
Reverse-Geocoding