0
Я хочу получить расстояние между 2 точками, один доставлен GPS, а второй - исправлен. Я получаю результат, но расстояние составляет 40 км, но должно быть около 25 км, и я не могу найти другую формулу. Пожалуйста, помогите мне решить проблему.неправильное расстояние между 2 точками GPS - андроид
btnShowLocation = (кнопка) getView(). FindViewById (R.id.btnLocation);
btnShowLocation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
//Objekt in der Klasse erzeugen
gps = new GPSTracker(getActivity());
//überprüfen, ob GPS aktiv ist
if(gps.canGetLocation()){
latitude = gps.getLatitude();
longitude = gps.getLongitude();
Toast.makeText(getActivity(), "Deine Location - \nLat: " + latitude + "\nLong: " + longitude, Toast.LENGTH_LONG).show();
}else{
//wenn keine Location gefunden wurde
// GPS oder Netzwerk nicht verfügbar
// User fragen, ob er die Einstellungen ändern will
gps.showSettingsAlert();
}
}
});
btnEntfernung = (Button) getView().findViewById(R.id.btnDistance);
btnEntfernung.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
double x1,y1,x2,y2,radius;
latitudeDB = Math.toRadians(48.569601);
longitudeDB = Math.toRadians(16.572087);
double entfernung=0;
radius= 6378.137/360;
x2=latitudeDB;
y2=longitudeDB;
x1=latitude;
y1=longitude;
double distanz =(x1-x2)+(y1-y2);
double distanzfaktor = Math.acos((Math.sin(y1)*Math.sin(y2))+((Math.cos(y1)*Math.cos(y2))* (Math.cos(x2)-Math.cos(x1))));
if (distanz >=0){
entfernung = radius*distanzfaktor;
}
else if(distanz < 0){
entfernung = radius*(distanzfaktor + Math.PI);
}
Toast.makeText(getActivity(), "Deine Entfernung" + entfernung + " km", Toast.LENGTH_LONG).show();
}
});
Я не знаю, как использовать его, я просто новичок, и это, кажется, самый простой способ: s, но это неправильно – user3224612
Ну я только что показал вам, как использовать это :) Что вы означает, что это неверно? Вы уверены, что ваш расчет _other_ правильный (если вы считаете, что результат метода «Location» неверен)? –
no no Я уверен, что ваш код верен, мой код не тот. Но где мне его скопировать и как я могу показать расстояние в тосте, например. Я очень благодарю вас за вашу помощь. Я не очень хорош в программировании: s – user3224612