如何计算城市中两个区域之间的距离

Posted

技术标签:

【中文标题】如何计算城市中两个区域之间的距离【英文标题】:How to calculate distance between two areas in a city 【发布时间】:2016-06-07 16:50:43 【问题描述】:

我想制作一个 android 应用程序,它可以提供城市中两个区域之间的距离。

用户将有两个输入字段,他必须在其中输入他想查找距离的两个区域名称。

在他输入区域名称后。我的应用应该显示距离。

我应该如何实现这个?

【问题讨论】:

【参考方案1】:

首先您需要找到该地区名称的纬度和经度。

转换Location对象中的两个地址,参考this。

使用distanceTo()计算距离

location1.distanceTo(location2);

返回此位置与该位置之间的大致距离(以米为单位) 给定的位置。

请参阅 this 了解 distanceTo() 详细信息。

【讨论】:

如何查询该地区的经纬度。我的意思是当我们输入区域名称时如何转换它。【参考方案2】:

首先获取起点和终点的纬度和经度并使用 Location类的distanceBetween方法计算距离这里是link http://developer.android.com/reference/android/location/Location.html#distanceBetween(double,%20double,%20double,%20double,%20float[])

【讨论】:

【参考方案3】:

使用Google Maps Directions API。您需要通过 HTTP 请求路线。您可以直接从 Android 或通过您自己的服务器执行此操作。

例如,来自Montreal to Toronto的路线:

获取http://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&sensor=false

您最终会得到一些 JSON。在routes[].legs[].distance,你会得到一个像这样的对象:

  "legs" : [
        
           "distance" : 
              "text" : "542 km",
              "value" : 542389
           ,

也可以直接从响应对象中获取折线信息。

更多详情请访问此处。 Get the distance between two locations in android?

【讨论】:

你知道如何实现它吗?因为我已经尝试了很多使用 Google Maps Directions API 但无法做到这一点。如果你有,请给我一个示例程序。

以上是关于如何计算城市中两个区域之间的距离的主要内容,如果未能解决你的问题,请参考以下文章

如何循环遍历城市列表以计算它们之间的距离

如何计算两个 ZIP 之间的距离?

Android - 两个城市之间的距离

经纬度之间的最小距离

读取城市坐标,计算任意两个城市之间的距离。

如何计算两个Android设备之间的距离? [关闭]