ソースアドレスと宛先アドレスを提供する2つのテキストボックスがあります。
1) 出典 = SHAHIBAUG UNDER BRIDGE、Shahibagh、アーメダバード、グジャラート
2) 目的地 = CG Road, Shreyas Colony, Navrangpura, Ahmedabad, Gujarat
Distance = 4.6 (Google マップから) && 2.6656852 (Location の distanceTo メソッドを使用)
final ProgressDialog dialog = ProgressDialog.show(AutoActivity.this, "Fare", "test");
new Thread(new Runnable() {
@Override
public void run() {
try {
Location source_location = new Location("");
Location destination_location = new Location("");
Geocoder geoCode = new Geocoder(getApplicationContext());
source_location.setLatitude(geoCode.getFromLocationName(source_input.getText().toString(), 1).get(0).getLatitude());
source_location.setLatitude(geoCode.getFromLocationName(source_input.getText().toString(), 1).get(0).getLongitude());
source_location.set(source_location);
destination_location.setLatitude(geoCode.getFromLocationName(destination_input.getText().toString(), 1).get(0).getLatitude());
destination_location.setLatitude(geoCode.getFromLocationName(destination_input.getText().toString(), 1).get(0).getLongitude());
destination_location.set(destination_location);
float distance = source_location.distanceTo(destination_location)/1000;
System.out.println("Distance == " + distance);
kmVal = BigDecimal.valueOf(distance);
calculateFares();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (dialog!=null) {
dialog.dismiss();
}
}
}
}).start();
距離を間違える理由がわかりません。私のコードには、getFromLocationName メソッドを使用したことと、1 つの結果のみを取得するために 1 つの引数を渡しているという疑問があります。それは何か違いがありますか?誰でも親切に助けてください。