--- android/TrainInfo/src/dk/thoerup/traininfo/TrainInfoList.java 2009/09/11 08:48:18 316 +++ android/TrainInfo/src/dk/thoerup/traininfo/TrainInfoList.java 2009/09/11 09:12:45 317 @@ -163,10 +163,35 @@ intent.putExtra("latitude", latitude); intent.putExtra("longitude", longitude); intent.putExtra("stationid", station.getId()); + intent.putExtra("address", station.getAddress()); startActivity(intent); } - + String lookupAddress(double latitude, double longitude) { + + Geocoder coder = new Geocoder(this, new Locale("da")); + StringBuilder sb = new StringBuilder(); + Log.i("lookupaddr", "" + latitude + "/" + longitude); + try { + List
addressList = coder.getFromLocation(latitude, longitude, 1); + Address addr = addressList.get(0); + + + int max = addr.getMaxAddressLineIndex(); + for (int i=0; i0) + sb.append(", "); + + sb.append(addr.getAddressLine(i)); + } + + + } catch (Exception e) { + Log.e("DepartureList", "geocoder failed", e); + } + + return sb.toString(); + } class LocatorTask extends AsyncTask { @Override @@ -179,6 +204,12 @@ protected Void doInBackground(Void... params) { locator.findNearestStations(); + List stations = locator.getStations(); + for (StationBean station : stations) { + String addr = lookupAddress(station.getLatitude(), station.getLongitude()); + station.setAddress(addr); + } + return null; }