
Ultima localizacion
Publicado por karrax (9 intervenciones) el 24/07/2015 16:35:39
Hola:
Tengo un problema y es que cuando arranca la plicaccion quiero que se acerque el mapa la localizacion del usuario. Pero la cosa es que al principio no hay conexion posible de localizacion. Entonces decido utilizar getLastKnowedLocation() para consegir la ultima localizacion conocida del dispositivo asta que se encuentre algun proveedor pero no me funciona. Ademas poniendole el locationListener nose como hacer que cuendo detecte ejecute el metodo que hace que se acerque el mapa. os dejo el codigo y ya me decis:
Tengo un problema y es que cuando arranca la plicaccion quiero que se acerque el mapa la localizacion del usuario. Pero la cosa es que al principio no hay conexion posible de localizacion. Entonces decido utilizar getLastKnowedLocation() para consegir la ultima localizacion conocida del dispositivo asta que se encuentre algun proveedor pero no me funciona. Ademas poniendole el locationListener nose como hacer que cuendo detecte ejecute el metodo que hace que se acerque el mapa. os dejo el codigo y ya me decis:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapa = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.mapa)).getMap();
mapa.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
mapa.setMyLocationEnabled(true);
mapa.getUiSettings().setZoomControlsEnabled(true);
mapa.getUiSettings().setCompassEnabled(true);
locaMan = (LocationManager)getSystemService(LOCATION_SERVICE);
req.setAccuracy(Criteria.ACCURACY_COARSE);
req.setAltitudeRequired(false);
req.setCostAllowed(false);
// bestProvi = locaMan.getBestProvider(req, true);
bestProvi = locaMan.getBestProvider(req, true);
myPosition();
public void myPosition() {
if (mapa.getMyLocation() != null)
mapa.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng( mapa.getMyLocation().getLatitude(), mapa.getMyLocation().getLongitude()), 13));
else{
loca = locaMan.getLastKnownLocation(bestProvi);
if (loca != null)
mapa.moveCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng( loca.getLatitude(), loca.getLongitude()), 15));
}
}
public void onLocationChanged(Location location) {
myPosition();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
myPosition();
}
@Override
public void onProviderEnabled(String provider) {
myPosition();
Toast toast1 =Toast.makeText(getApplicationContext(),"Provider ON", Toast.LENGTH_SHORT);
toast1.show();
}
@Override
public void onProviderDisabled(String provider) {
Toast toast1 =Toast.makeText(getApplicationContext(),"Provider OFF", Toast.LENGTH_SHORT);
toast1.show();
}
@Override
protected void onResume() {
super.onResume();
// Activamos notificaciones de localización
locaMan.requestLocationUpdates(bestProvi, 10000, 400, this);
}
Valora esta pregunta


0