如何计算城市中两个区域之间的距离
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 但无法做到这一点。如果你有,请给我一个示例程序。以上是关于如何计算城市中两个区域之间的距离的主要内容,如果未能解决你的问题,请参考以下文章