2016-05-16 85 views
-1

你好,我是完全新的Android位置概念,我已经在android studio中创建了一个地图活动。这是代码。获取当前位置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")); 
} 

locationonLocationChanged方法

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

---------- 

} 
+0

这是给错误,电话需要许可? –

+0

感谢它的工作,但问题是它是不可见的标记,你能帮我解决,如何使用标记我的位置.. –

+0

什么是那个位置,从哪里得到的?你在哪里初始化“位置”.. @Abhishek –

0

的谷歌地图API的位置现在工作搞定,甚至有听众,你可以用它做,例如充足:

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);