计算相同起点和终点之间的距离
Calculate distance between same start destination and end destination
如何从编码折线中获取多个纬度和经度之间的距离。
当前方向 API 计算起点和终点之间的距离。但我也希望能够计算起点和终点相同的距离。
// Generates an encoded string with all the latitudes and longitues
// used to get the exact distance, otherwise the google will calculate the closet path.
String encodedLatLngList = PolyUtil.encode(latLngListTemp);
String encodedWaypointString = "waypoints=enc:" + encodedLatLngList;
RESTClient RESTClient = new RESTClient();
Call<Direction> call = RESTClient.getGoogleApiService().getDirectionWithEncodedWaypoints(originLatLng, destinationLatLng, encodedWaypointString);
call.enqueue(new Callback<Direction>() {
@Override
public void onResponse(Call<Direction> call, Response<Direction> response) {
if (response.isSuccessful()) {
Direction direction = response.body();
if (direction.getRoutes().size() > 0) {
String distance = direction.getRoutes().get(0).getLegs().get(0).getDistance().getText();
String locationA = direction.getRoutes().get(0).getLegs().get(0).getStartAddress();
String locationB = direction.getRoutes().get(0).getLegs().get(0).getEndAddress();
String duration = direction.getRoutes().get(0).getLegs().get(0).getDuration().getText();
您尝试过使用 android.location.Location 吗?有函数 distanceTo(Location) 计算两个位置之间的距离。
您可以使用 Google Maps API Utility Library 中的 SphericalUtil.computeLength
来计算 List<LatLng>
的长度
如何从编码折线中获取多个纬度和经度之间的距离。
当前方向 API 计算起点和终点之间的距离。但我也希望能够计算起点和终点相同的距离。
// Generates an encoded string with all the latitudes and longitues
// used to get the exact distance, otherwise the google will calculate the closet path.
String encodedLatLngList = PolyUtil.encode(latLngListTemp);
String encodedWaypointString = "waypoints=enc:" + encodedLatLngList;
RESTClient RESTClient = new RESTClient();
Call<Direction> call = RESTClient.getGoogleApiService().getDirectionWithEncodedWaypoints(originLatLng, destinationLatLng, encodedWaypointString);
call.enqueue(new Callback<Direction>() {
@Override
public void onResponse(Call<Direction> call, Response<Direction> response) {
if (response.isSuccessful()) {
Direction direction = response.body();
if (direction.getRoutes().size() > 0) {
String distance = direction.getRoutes().get(0).getLegs().get(0).getDistance().getText();
String locationA = direction.getRoutes().get(0).getLegs().get(0).getStartAddress();
String locationB = direction.getRoutes().get(0).getLegs().get(0).getEndAddress();
String duration = direction.getRoutes().get(0).getLegs().get(0).getDuration().getText();
您尝试过使用 android.location.Location 吗?有函数 distanceTo(Location) 计算两个位置之间的距离。
您可以使用 Google Maps API Utility Library 中的 SphericalUtil.computeLength
来计算 List<LatLng>