【问题标题】:Android Location manager - wait locationAndroid 位置管理器 - 等待位置
【发布时间】:2013-05-11 12:25:09
【问题描述】:

我在 onCreate() 中有一个代码

LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(  
LocationManager.GPS_PROVIDER, 500, 1, new LocationListener (){
             @Override
             public void onLocationChanged(Location loc) {
                               CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(loc.getLatitude(), loc.getLongitude()));
                               myMap.moveCamera(center);  
             }
});

当用户的位置改变时会发生这种情况,但我希望它发生一次。 我想等到收到新位置后再移动到新的位置地图,然后不将地图移动给用户

【问题讨论】:

  • 无法理解您的意思。您想为用户位置设置一次摄像头吗?
  • 是的。我想要一个只移动相机而不使用方法 locationManager.getLastKnownLocation();

标签: android location locationmanager


【解决方案1】:

类成员

private LocationManager mLocationManager; 
MyLocationListener mLocationListener 

locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
MyLocationListener mLocationListener = new MyLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 500, 1, myLocationListener);

public MyLocationListener extends LocationListener
{
        @Override
        public void onLocationChanged(Location loc) {
              CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(loc.getLatitude(), loc.getLongitude()));
              myMap.moveCamera(center); 
              mLocationManager.removeUpdates(mLocationListener): 
             }

        @Override
        public void onProviderDisabled(String provider) 
         {

         }

        @Override
        public void onProviderEnabled(String provider) 
        {

        }

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) 
        {

        }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    相关资源
    最近更新 更多