在iOS,Android和Windows Phone应用中使用谷歌查找行车路线

时间:2014-07-09 07:55:58

标签: android ios google-maps windows-phone-8 google-maps-api-3

我正在使用母语开发iOS,Android和Windows Phone应用程序。 Atm我正在计算当前位置和点列表之间的距离。以下是我在Android上如何执行此操作的示例:

Location currentLocation = new Location( "CurrentLocation" );
Location.distanceBetween(mLatitude, mLongitude, tempLoc.getLatitude(), tempLoc.getLongitude(), results);

问题是,Location.distanceBetween让我在鸟眼中有一段距离,我想改变它以给我行车方向的距离(最快的路线)(只需要距离,而不是在地图上画出来)。我甚至不确定这是否可行。所以我有两个问题。

  1. 这是否可以使用谷歌API?
  2. 如果是,我有哪些选择(请记住开发3个平台)?
  3. 提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以向Google API询问这两点之间的行车路线,并迭代每一步,包括距离。

https://developers.google.com/maps/documentation/directions/#JSON

例如,您可以执行以下请求:

http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false

但使用坐标而不是地址。结果将是这样的:

{
  "status": "OK",
  "routes": [ {
    "summary": "I-40 W",
    "legs": [ {
      "steps": [ {
        "travel_mode": "DRIVING",
        "start_location": {
          "lat": 41.8507300,
          "lng": -87.6512600
        },
        "end_location": {
          "lat": 41.8525800,
          "lng": -87.6514100
        },
        "polyline": {
          "points": "a~l~Fjk~uOwHJy@P"
        },
        "duration": {
          "value": 19,
          "text": "1 min"
        },
        "html_instructions": "Head \u003cb\u003enorth\u003c/b\u003e on \u003cb\u003eS Morgan St\u003c/b\u003e toward \u003cb\u003eW Cermak Rd\u003c/b\u003e",
        "distance": {
          "value": 207,
          "text": "0.1 mi"
        }
      },...

也许您可以添加每个步骤的距离值:207 + ...