33. Разработка приложений для ОС Android. Использование карт в связке с GPS

1) Добавляем новое разрешение android.permission.ACCESS_FINE_LOCATION на использование GPS в AdroidManifest.xml
2) Изменяем Main.java код:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        MapView view1 = (MapView) findViewById(R.id.map1);
        view1.setBuiltInZoomControls(true);
        final MapController control = view1.getController();
        // получаем местонахождение
        LocationManager manager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
        LocationListener listener = new LocationListener() {
            
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void onProviderEnabled(String provider) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void onProviderDisabled(String provider) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void onLocationChanged(Location location) {
                // TODO Auto-generated method stub
                // выровним карту в соответствии с нашим местоположением
                control.setCenter(new GeoPoint((int) location.getLatitude(), (int) location.getLongitude()));               
            }
        };
        
        manager.requestLocationUpdates(LocationManager.GPS_PROVIDER // берем данные с GPS
                , 0 // время для ожидания
                , 0 // шаг т.е. насколько точно нужно следить за обновлениями
                , listener
                );
        
    }

3) Чтобы использовать GPS на эмуляторе имеется спец. инструмент - Emulator Control в DDMS.