diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java index 45ce31b..3f9663e 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java @@ -70,6 +70,7 @@ import de.apps4ics.mountainnavigation.handlers.PoiHandler; import de.apps4ics.mountainnavigation.pois.DbGeoPoint; import de.apps4ics.mountainnavigation.pois.Fountain; +import de.apps4ics.mountainnavigation.pois.Poi; import de.apps4ics.mountainnavigation.pois.Types; public class MainActivity extends AppCompatActivity implements LocationListener { @@ -523,7 +524,13 @@ mLocation = location; if(mLocation == null) return; foundLocations.add(location); - poiHandler.updatePois(); + //poiHandler.updatePois(); + List test = poiHandler.getPoisAround(location.getLatitude(), location.getLongitude(), 20); + Log.d(TAG, "Get POIs around: " + location.toString()); + int i=1; + for(Poi p : test) { + Log.d(TAG, "POI #" + (i++) + ": " + p.toString()); + } double lat = location.getLatitude(); double lon = location.getLongitude(); diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/OsmHandler.java b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/OsmHandler.java index 4ac7a50..168375e 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/OsmHandler.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/OsmHandler.java @@ -39,25 +39,30 @@ e.printStackTrace(); } } - return poisAround; + if(limit != -1) return poisAround.subList(0, limit); + else return poisAround; } } -class GetPoiFromOsm extends AsyncTask { - protected ArrayList doInBackground(String... params) { +class GetPoiFromOsm extends AsyncTask { + protected List doInBackground(String... params) { try { NominatimPOIProvider poiProvider = new NominatimPOIProvider(""); - ArrayList foundPois = poiProvider.getPOICloseTo(new GeoPoint(MainActivity.getLocation()), params[0], 50, 0.1); - return foundPois; + List foundPois = poiProvider.getPOICloseTo(new GeoPoint(MainActivity.getLocation()), params[0], 50, 0.1); + List convertedPois = new ArrayList<>(); + for(POI p : foundPois){ + convertedPois.add(new Poi(p)); + } + return convertedPois; } catch (Exception e) { return null; } } @Override - protected void onPostExecute(ArrayList arrayList) { - for(POI p : (ArrayList) arrayList) { + protected void onPostExecute(List arrayList) { + /*for(POI p : (ArrayList) arrayList) { Log.d(MainActivity.TAG, p.mCategory + ", " + p.mType + ", " + p.mUrl); - } + }*/ } } \ No newline at end of file diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/pois/DbGeoPoint.java b/app/src/main/java/de/apps4ics/mountainnavigation/pois/DbGeoPoint.java index 183365a..a9c8771 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/pois/DbGeoPoint.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/pois/DbGeoPoint.java @@ -1,5 +1,7 @@ package de.apps4ics.mountainnavigation.pois; +import org.osmdroid.util.GeoPoint; + /** * Created by Vinz on 03.11.2015. */ @@ -9,6 +11,11 @@ private double alt; private long _time; + public DbGeoPoint(GeoPoint gp) { + this.lat = gp.getLatitude(); + this.lon = gp.getLongitude(); + this.alt = gp.getAltitude(); + } public DbGeoPoint(long _id) { super(_id, Types.GP); } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/pois/Poi.java b/app/src/main/java/de/apps4ics/mountainnavigation/pois/Poi.java index 2a195dd..3922804 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/pois/Poi.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/pois/Poi.java @@ -1,5 +1,7 @@ package de.apps4ics.mountainnavigation.pois; +import org.osmdroid.bonuspack.location.POI; + /** * Created by Vinz on 06.10.2015. */ @@ -8,10 +10,16 @@ protected int _type; protected DbGeoPoint gp; protected long gpId; + protected String infoFromOsm; public Poi() { } + public Poi(POI p) { + gp = new DbGeoPoint(p.mLocation); + infoFromOsm = p.mCategory + ":" + p.mDescription + ":" + p.mType; + } + @Override public boolean equals(Object o) { if (this == o) return true; @@ -74,6 +82,7 @@ return "Poi {" + "_id=" + _id + ", _type=" + _type + + (infoFromOsm != null ? "infoFromOsm: " + infoFromOsm : "") + '}'; }