wie finden Sie die Entfernung zwischen zwei geopoints?
double distance;
Location locationA = new Location("point A");
locationA.setLatitude(latA);
locationA.setLongitude(lngA);
Location locationB = new Location("point B");
locationB.setLatitude(latB);
LocationB.setLongitude(lngB);
distance = locationA.distanceTo(locationB);
der obige code funktioniert nicht und ich bin immer 0.0 Km Entfernung?
Auch in den Konstruktor der den Speicherort der Klasse, was bedeutet der string-Anbieter bedeuten.
In dem obigen code, den ich verwende, PointA und PointB als Anbieter.
warum ist der obige code nicht funktioniert?
vielen Dank im Voraus.
LOGCAT
05-09 17:48:56.144: INFO/Aktuelles loc(1573): lat 0.0 lng 0.0
05-09 17:48:56.155: INFO/checklocation loc(1573): lat 54.4288665 lng 10.169366
Sind Sie sicher, dass Ihre Werte von latA/latB und lngA/lngB unterschiedlich sind, und in den richtigen Bereich? Können Sie uns Beispiele für Werte, die Sie verwenden? Beachten Sie auch,
ja. ich bin Umstellung auf Meter. ich habe die logcat Ergebnis. die Werte, die ich bekomme, sind unterschiedlich für die verschiedenen Standorte....
Sie brauchen nicht zu konvertieren, zu Meter, das Ergebnis ist in m schon. Poste bitte ein vollständiges Codebeispiel, wie ich glaube, die Frage ist hier nicht in dem code, den Sie gepostet haben.
distanceTo
's Ergebnis ist in Metern, nicht Kilometern.ja. ich bin Umstellung auf Meter. ich habe die logcat Ergebnis. die Werte, die ich bekomme, sind unterschiedlich für die verschiedenen Standorte....
Sie brauchen nicht zu konvertieren, zu Meter, das Ergebnis ist in m schon. Poste bitte ein vollständiges Codebeispiel, wie ich glaube, die Frage ist hier nicht in dem code, den Sie gepostet haben.
InformationsquelleAutor user590849 | 2011-05-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Lage.distanceBetween(..)
Update:
Wenn Sie immer lat/lon von GeoPoint dann sind Sie in microdegrees. Sie müssen durch multiplizieren 1e6.
sind Sie vielleicht immer lon/lat von GeoPoint? Diese sind in microdegrees - sollten Sie vermehren sich durch 1e6.
InformationsquelleAutor Peter Knego
Nur einen kurzen Ausschnitt, da ich nicht sehen, eine vollständige und einfache Lösung mit GeoPoints oben:
Wenn Sie möchten Meter, nur return dist[0] direkt.
InformationsquelleAutor Glen
Wie oben erwähnt, die Lage der Klasse ist der Weg zu gehen. Hier ist der code, den ich verwendet habe :
In diesem Beispiel, beide pointA und pointB sind Instanzen der Klasse GeoPoint.
InformationsquelleAutor
Dies ist nicht die Antwort, aber beachten Sie die Signatur für die
Location
Konstruktor istLocation(String provider)
.D. H. der String, den Sie übergeben Sie an den Konstruktor zu finden sein sollte
LocationManager.GPS_PROVIDER
,LocationManager.NETWORK_PROVIDER
oderLocationManager.PASSIVE_PROVIDER
, nicht"point A"
und"point B"
.InformationsquelleAutor Dave
Einen alternativen Weg zum erreichen der oben
InformationsquelleAutor Hades
http://www.jaimerios.com/?p=39
locationA.distanceTo(locationB)
(angeblich), was einem Ergebnis von 0 Meter?InformationsquelleAutor HaloWebMaster