2016-05-16 2 views
-1

Привет, я совершенно новичок в концепции определения местоположения Android, я создал одну карту в студии android. это код.Получение текущего местоположения в Android API уровне 23

public void onMapReady(GoogleMap googleMap) { 
     mMap = googleMap; 

     mMap.setMyLocationEnabled(true); 

     Location location = null; 
     LatLng currentPosition = new LatLng(location.getLatitude(), location.getLongitude()); 
     mMap.addMarker(new MarkerOptions().position(currentPosition).title("Current Location")); 

Является ли это правильно @Abhishek

+0

просто добавить следующую строку: mMap.setMyLocationEnabled (истинный); – nikk

+0

Кажется, он уже ответил в этом посте http://stackoverflow.com/questions/3145089/what-is-the-simplest-and-most-robust-way-to-get-the-users-current-location-on- a? rq = 1 –

+0

Возможный дубликат http://ramsandroid4all.blogspot.in/2015/05/showing-current-location-with-marker-in.html –

ответ

1

Вы можете использовать как этот

@Override 
public void onMapReady(GoogleMap map) { 
    // TODO Auto-generated method stub 
    map.setMyLocationEnabled(true); 
    LatLng currentPosition = new LatLng(location.getLatitude(),location.getLongitude()); 
    map.addMarker(new MarkerOptions().position(currentPosition).title("Current Location")); 
} 

location, которые получают от onLocationChanged метода

@Override 
public void onLocationChanged(Location loc) { 
// TODO Auto-generated method stub 
location = new LatLng(loc.getLatitude(), loc.getLongitude()); 

---------- 

} 
+0

Дает ошибку, звонок требует разрешения ??? –

+0

Спасибо, что это сработало, но проблема в том, что в маркере не видно, можете ли вы помочь мне в этом, как использовать маркер для моего местоположения. –

+0

что это за место, откуда у вас это? где вы инициализировали «местоположение». @Abhishek –

0

В API местоположение Google Maps теперь работает, даже есть слушатели, вы можете сделать это, используя это, например достаточно:

private GoogleMap.OnMyLocationChangeListener myLocationChangeListener = new GoogleMap.OnMyLocationChangeListener() { 
    @Override 
    public void onMyLocationChange(Location location) { 
     LatLng loc = new LatLng(location.getLatitude(), location.getLongitude()); 
     mMarker = mMap.addMarker(new MarkerOptions().position(loc)); 
     if(mMap != null){ 
      mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(loc, 16.0f)); 
     } 
    } 
}; 

, а затем установить слушатель на карту:

mMap.setOnMyLocationChangeListener(myLocationChangeListener);