0

切中要害。我正在使用 Google Maps Android Api v2 distanceBetween 方法来获取用户位置与地图上某个点之间的距离,如您在此处看到的:

float[] distance = new float[1];
Location currentLocation = PECApplication.getInstance().getLocationClient().getLastLocation();
Location.distanceBetween(currentLocation.getLatitude(), currentLocation.getLongitude(), marker.getPosition().latitude, marker.getPosition().longitude, distance);
TextView distanceView = (TextView) infoWindow.findViewById(R.id.eventDistanceValue);
distanceView.setText(formatDistance(distance[0]));

问题是结果与我从谷歌地图网站收到的结果不匹配。在其中一种情况下,Google Maps 网站的距离是 31 公里,而 distanceBetween 方法的结果是 23,328 公里。有人有线索吗?非常感谢。

4

1 回答 1

1

MH是对的。如果您想获得沿道路的行驶距离,您必须使用网络服务Google Directions。因此,您必须使用您选择的起点和终点进行 http 请求。响应是一个 JSON,其中包含有关您的点之间的路线的详细信息,例如实际距离、转弯指示等等。

有关代码的一些详细信息,请参阅问题。

于 2013-07-20T15:20:18.433 回答