найти адрес начала и конца маршрута - PullRequest
0 голосов
/ 29 апреля 2011

Я получаю данные GPS через DDMS, используя файл KML в Android, и я использую следующий код:

public class screen4 extends MapActivity 

{    


List<GeoPoint> geoPointsArray = new ArrayList<GeoPoint>();

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.screen4); 

        lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);    

        locationListener = new MyLocationListener();


        mapView = (MapView) findViewById(R.id.mapview1);

        mapView.setBuiltInZoomControls(true);

        mc = mapView.getController();

       lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locationListener);

   }


private class MyLocationListener implements LocationListener

    {

        @Override
        public void onLocationChanged(Location loc) {

            if (loc != null) {                         

                latitude=(int)(loc.getLatitude()* 1E6);

                longitude=(int)(loc.getLongitude()* 1E6);


           GeoPoint p = new GeoPoint(latitude,longitude);
        geoPointsArray.add(p);

      mc.animateTo(p);

              mc.setZoom(17);     

                mapView.invalidate();

                mapView.setSatellite(true);
           }

        }

В onLocationChanged () я получаю данные GPS и сохраняю их в GeoPoint.я хочу узнать адрес первой точки (широта, долгота) и последней точки, чьи данные GPS я получаю.

Мой вопрос: остается ли моя программа заблокированной на этой линии?:

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locationListener);

до тех пор, пока не будут получены все данные GPS?

Таким образом, я могу применить Geocoder для geoPointsArray (0), а затем для geoPointsArray (maxSize).

Моя проблема в том, что я не знаю, как работает эта программа, поэтому я не могу точно определить, когда все мои данные GPS извлекаются (мой geoPointsArray заполнен), и поэтому, где применять Geocoder.

Вопрос2:

В тот момент, когда я начинаю получать обновления местоположения, я хочу подключиться к удаленному серверу и отправить на сервер все данные GPS, хранящиеся в geoPointArray.Любая идея о том, где я должен начать свою тему?У меня есть куча строк кода, но я думаю, что никто не собирается это читать!

1 Ответ

1 голос
/ 29 апреля 2011

Мой вопрос: моя программа остается заблокированной в этой строке: lm.requestLocationUpdates (LocationManager.GPS_PROVIDER, 0,0, locationListener); пока все данные GPS не будут получены ????

Нет. Обновления местоположения асинхронны.

...