获取Android API级别的当前位置23

时间:2016-05-16 10:30:38

标签: android dictionary android-studio

你好,我是android位置概念的新手,我在android studio中创建了一个地图活动。这是代码。

 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

2 个答案:

答案 0 :(得分: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());

 ----------

}

答案 1 :(得分:0)

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