2016-05-20 2 views
-1

Ich versuche, auf Anwendung zu arbeiten, in der ich habe Liste der Ort aus der Datenbank und ich möchte überprüfen, welcher Standort aus der Datenbank ist in der Nähe meiner aktuellen Position innerhalb von wenigen Meilen wie 20 Meilen und Liste wurde automatisch mit dem verfeinerten Standort aktualisiert und dann Benachrichtigung an den Benutzer, dass Sie in diesen Ort eingeben ...Übereinstimmenden aktuellen Standort mit Datenbank-Liste des Standortes mit in 50 Meilen

Ich habe darüber gesucht und über Geofencing wissen, aber ich habe es nicht richtig bekommen .. also bitte schlagen Sie mir vor, wie sollte ich anfangen, daran zu arbeiten ... Jede Probe, Code oder Link wird hilfreich sein

Vielen Dank im Voraus

Antwort

0

Ich habe eine Funktion distanceTo verwendet, um den Abstand zwischen Locations zu berechnen.

Ich habe es nur für 100 mtr codiert, müssen Sie den Wert der Entfernung, die Sie vergleichen möchten, ändern.

private boolean isMarkerIn100(ArrayList<Model> arrayList) { 
     Location locationA = new Location("LocationA"); 
     locationA.setLatitude(latitude); 
     locationA.setLongitude(longitude); 

     for (int i = 0; i < arrayList.size(); i++) { 
      Location locationB = new Location("LocationB"); 
      locationB.setLatitude(arrayList.get(i).getLat()); 
      locationB.setLongitude(arrayList.get(i).getLng()); 
      if (locationA.distanceTo(locationB) < 100 && arrayList.get(i).getHit() > 4) { 
       return false; 
      } 
     } 
     return true; 
    } 

In obigen Code, latitude und longitude sind für mich (der Benutzer) Lage (Say locationA) und ArrayList ist, Daten aus der Datenbank mit lat und lng.

+0

Dank ... aber wie kann ich Daten von SQLite abrufen kann, wie Sie in Arraylist haben ... Ich habe zwei verschiedene Listen wie diese Arraylist al_getLatitude = new Arraylist () gemacht; ArrayList al_get_longitude = neue ArrayList (); –

+0

ich denke, ich muss Arraylist auch in der Datenbank-Klasse machen ... aber weiß nicht .. können Sie diesen Code auch –

+0

Für mich ArrayList Daten kommen vom Server, So müssen Sie Code für Ihre lokale Datenbank schreiben. Mach auch eine Model-Klasse für Lat und Lng – Shvet

Verwandte Themen