distanceTo returns 的距离是多少?
What distance does distanceTo returns?
是否考虑高度变化?
我的意思是,如果我从这个三角形的左顶点开始并在右上顶点结束,它是 return 距离 a 还是 b?
double distanceInMetersFloat = initialPosition.distanceTo(finalPosition);
在我的应用程序中,initialPosition 和 finalPosition 都是具有高度的位置(我将它们设置为 Google 海拔 API)。
根据Google:
Distance is defined using the WGS84 ellipsoid.
但是你可以在有或没有海拔高度的情况下进行。
计算Location.distanceTo
时不考虑海拔高度。
你可以这样测试:
Location location1 = new Location("");
location1.setLatitude(40);
location1.setLongitude(-4);
location1.setAltitude(0);
Location location2 = new Location("");
location2.setLatitude(30);
location2.setLongitude(-3);
location2.setAltitude(0);
Location location3 = new Location("");
location3.setLatitude(30);
location3.setLongitude(-3);
location3.setAltitude(100);
Log.e("Without altitude", ""+location1.distanceTo(location2));
Log.e("With altitude", ""+location1.distanceTo(location3));
Log.e("Different altitude", ""+location2.distanceTo(location3));
这是输出:
E/Without altitude﹕ 1113141.5
E/With altitude﹕ 1113141.5
E/Different altitude﹕ 0.0
是否考虑高度变化?
我的意思是,如果我从这个三角形的左顶点开始并在右上顶点结束,它是 return 距离 a 还是 b?
double distanceInMetersFloat = initialPosition.distanceTo(finalPosition);
在我的应用程序中,initialPosition 和 finalPosition 都是具有高度的位置(我将它们设置为 Google 海拔 API)。
根据Google:
Distance is defined using the WGS84 ellipsoid.
但是你可以在有或没有海拔高度的情况下进行。
计算Location.distanceTo
时不考虑海拔高度。
你可以这样测试:
Location location1 = new Location("");
location1.setLatitude(40);
location1.setLongitude(-4);
location1.setAltitude(0);
Location location2 = new Location("");
location2.setLatitude(30);
location2.setLongitude(-3);
location2.setAltitude(0);
Location location3 = new Location("");
location3.setLatitude(30);
location3.setLongitude(-3);
location3.setAltitude(100);
Log.e("Without altitude", ""+location1.distanceTo(location2));
Log.e("With altitude", ""+location1.distanceTo(location3));
Log.e("Different altitude", ""+location2.distanceTo(location3));
这是输出:
E/Without altitude﹕ 1113141.5
E/With altitude﹕ 1113141.5
E/Different altitude﹕ 0.0