/ / Unter Berücksichtigung des geografischen Standorts über das GPS, wie die geografische Breite und Länge innerhalb eines bestimmten Radius von x Metern ermittelt werden können - Java, Android, geografische Position, geografische Breite und Länge

Anhand der geografischen Position des GPS können Sie die geografische Breite und die geografische Länge innerhalb eines gegebenen Radius von x Meter ermitteln - Java, Android, Geolocation, Längengrad und Breitengrad

Ich habe eine Android App geschrieben und mich gefragtWenn es eine API gibt, die das Einfügen eines vom GPS erhaltenen Breiten- und Längengrads sowie des Radius R unterstützt, ermitteln Sie den neuen Breiten- und Längengrad mit einer sehr hohen Genauigkeit. Vorzugsweise ein Java-Code. Angenommen, der aktuelle Standort ist curX und curY Jetzt können maxX und maxY innerhalb eines Radius von 200 Metern um diesen Ort liegen. Wenn ich also eine Liste mit Einträgen habe, drucke ich nur die Einträge innerhalb des maximalen Bereichs. Damit der Vergleich stimmt, sollte die Präzision hoch sein. Gibt es eine API, die das kann? Irgendeine Formel? (in Java)

So the function is
findNewLatitude(curLat,curLong,oldList,radius)
{
do bla bla bla; //Find a newList with respect to current Geo points on MAP  and      considering the radius
}

output: newList such that distance between (lat,long) in newList and
(curLat,curLong) is  equal to radius

Antworten:

1 für die Antwort № 1

Versuche dies :

Geocoder coder = new Geocoder(this);
List<Address> address;

try {
address = coder.getFromLocationName(strAddress,5);
if (address == null) {
return null;
}
Address location = address.get(0);
location.getLatitude();
location.getLongitude();

p1 = new GeoPoint((int) (location.getLatitude() * 1E6),
(int) (location.getLongitude() * 1E6));

return p1;
}

Siehe diese Antwort Wie erhalte ich den Namen der Stadt aus den Breiten- und Längengradkoordinaten in Google Maps?

Wie ändert man den Abstand von 1 Meter zu Pixel?


0 für die Antwort № 2

Ich vermute, Sie suchen nach dieser Methode:

http://developer.android.com/reference/android/location/Location.html#distanceTo%28android.location.Location%29

Dadurch wird die Entfernung zwischen zwei Standorten berechnet


0 für die Antwort № 3
List<Location> filter(Location current, List<Location> locations, int radius) {
List<Location> results = new ArrayList<Location>();
for (Location loc : locations) {
if (current.distanceTo(loc) <= radius) {
results.add(loc);
}
}
return results;
}