ubicacion studio setmylocationenabled obtener gratis google geolocalizacion example crear app android geolocation google-maps-android-api-2

studio - Cómo mostrar mi ubicación en Google Maps para Android API v2



obtener ubicacion android studio 2017 (5)

Código Java:

public class MapActivity extends FragmentActivity implements LocationListener { GoogleMap googleMap; LatLng myPosition; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_map); // Getting reference to the SupportMapFragment of activity_main.xml SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); // Getting GoogleMap object from the fragment googleMap = fm.getMap(); // Enabling MyLocation Layer of Google Map googleMap.setMyLocationEnabled(true); // Getting LocationManager object from System Service LOCATION_SERVICE LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); // Creating a criteria object to retrieve provider Criteria criteria = new Criteria(); // Getting the name of the best provider String provider = locationManager.getBestProvider(criteria, true); // Getting Current Location Location location = locationManager.getLastKnownLocation(provider); if (location != null) { // Getting latitude of the current location double latitude = location.getLatitude(); // Getting longitude of the current location double longitude = location.getLongitude(); // Creating a LatLng object for the current location LatLng latLng = new LatLng(latitude, longitude); myPosition = new LatLng(latitude, longitude); googleMap.addMarker(new MarkerOptions().position(myPosition).title("Start")); } } }

activity_map.xml:

<?xml version="1.0" encoding="utf-8"?> <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:map="http://schemas.android.com/apk/res-auto" android:id="@+id/map" android:layout_width="fill_parent" android:layout_height="fill_parent" class="com.google.android.gms.maps.SupportMapFragment"/>

Obtendrás tu ubicación actual en un círculo azul.

Miré alto y bajo para obtener una respuesta al respecto, y nadie, en ninguna pregunta del foro, ha podido ayudarme. He buscado a través de los tutoriales. La guía API dice:

El botón Mi ubicación aparece en la esquina superior derecha de la pantalla solo cuando la capa Mi ubicación está habilitada.

Así que he estado buscando esta capa Mi ubicación y no he podido encontrar nada. ¿Cómo muestro mi ubicación en un mapa de Google?


Desde Android 6.0, debe verificar el permiso del usuario. Si desea utilizar GoogleMap.setMyLocationEnabled(true) , obtendrá la Call requires permission which may be rejected by user error del Call requires permission which may be rejected by user

if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { mMap.setMyLocationEnabled(true); } else { // Show rationale and request permission. }

si quieres leer más, ver google map docs


La Guía de API lo tiene todo mal (¿realmente Google?). Con Maps v2 no necesita habilitar una capa para mostrarse, hay una simple llamada a la instancia de GoogleMaps que creó con su mapa.

Documentación de Google

La documentación real que proporciona Google le da su respuesta. Llamada

// map is a GoogleMap object map.setMyLocationEnabled(true);

y observa cómo sucede la magia.


Llame a GoogleMap.setMyLocationEnabled(true) en su Activity y agregue este código de 2 líneas en el Manifest :

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />


Para mostrar el botón "Mi ubicación" debe llamar

map.getUiSettings().setMyLocationButtonEnabled(true);

en su objeto GoogleMap.