两个位置之间的距离没有显示地图

时间:2018-04-01 19:23:11

标签: android google-maps google-distancematrix-api

我是一个自制的开发者,我不知道该怎么做。我试图设置一个带有android的程序,用户将输入Textviews:出发城市,到达城市,出发日期和出发时间。然后,应用程序将显示两个城市之间的距离,旅行的持续时间,到达日期和到达时间。

我在搜索时发现了一些工具,但我不知道如何使用它们。任何人都可以帮助我。我被困了几个星期:-(?

2 个答案:

答案 0 :(得分:4)

您应该使用Google map distance matrix Api and Direction Api。 首先,您注册并获得令牌。然后你应该调用web Api,结果将是一个包含你想要的所有信息的JSON。 请点击链接。

对于到达时间,只需将旅行时间与当前时间相加即可。

示例WebApi:

https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Washington,DC&destinations=New+York+City,NY&key=YOUR_API_KEY

示例回复:

{
"destination_addresses" : [ "New York, NY, USA" ],
"origin_addresses" : [ "Washington, DC, USA" ],
"rows" : [
  {
     "elements" : [
        {
           "distance" : {
              "text" : "225 mi",
              "value" : 361715
           },
           "duration" : {
              "text" : "3 hours 49 mins",
              "value" : 13725
           },
           "status" : "OK"
        }
     ]
  }
],
"status" : "OK"
}

答案 1 :(得分:0)

您可以使用任何距离矩阵API。例如,Distancematrix.ai。它有免费的定价计划,因此可能会更适合您的需求。

要开始使用API​​,请在https://distancematrix.ai/contact处填写表格,您会立即收到一封电子邮件,其中包含您的令牌和使用方法的详细信息。 在7天的试用期内,您可以无限制地完全访问Distance Matrix API,并可以进行测试。试用期到期后,您可以免费继续使用它,也可以切换到其他定价计划。

此外,如果您在迁移之前使用Google的API,这将很容易,因为您无需重写代码。您可以在此处比较请求:

Google:

~/.ssh/authrized_keys

Distancematrix.ai:

https://maps.googleapis.com/maps/api/distancematrix/json?origins=<origin_location_1|origin_location_2|...|origin_location_n>&destinations=<destination_location_1|destination_location_2|...|destination_location_n>&key=<your_access_token>

如果您需要可自定义的解决方案或在开始之前有任何疑问,请随时回复填写表格后收到的信件。

免责声明:我在一家创建此API的公司工作。