Google方向API json文件解析



我使用Google direction API,并以json文件的形式接收数据。我的url类似

http://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&目的地=阿德莱德,SA&waypoints=优化:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&传感器=错误

我使用了优化的:真参数。当我读的时候,它给了我通过航路点从源头到目的地的最佳路径。现在我还不知道json文件的确切结构。我查了json文件的结构,但我不知道如何按照Google方向API给我的路径顺序。

您不需要了解如何解析它

http://developer.android.com/reference/org/json/JSONTokener.htmlhttp://developer.android.com/reference/org/json/JSONObject.htmlhttp://developer.android.com/reference/org/json/JSONArray.html

我还试图在Android中使用谷歌的Direction Api。所以我做了一个开源项目来帮助做到这一点。你可以在这里找到它:https://github.com/MathiasSeguy-Android2EE/GDirectionsApiUtils

它的工作原理,非常简单:

public class MainActivity extends ActionBarActivity implements DCACallBack{
/**
 * Get the Google Direction between mDevice location and the touched location using the     Walk
 * @param point
 */
private void getDirections(LatLng point) {
     GDirectionsApiUtils.getDirection(this, mDeviceLatlong, point,     GDirectionsApiUtils.MODE_WALKING);
}
/*
 * The callback
 * When the direction is built from the google server and parsed, this method is called and give you the expected direction
 */
@Override
public void onDirectionLoaded(List<GDirection> directions) {        
    // Display the direction or use the DirectionsApiUtils
    for(GDirection direction:directions) {
        Log.e("MainActivity", "onDirectionLoaded : Draw GDirections Called with path " + directions);
        GDirectionsApiUtils.drawGDirection(direction, mMap);
    }
}

您提到的调用将给出您应该遵循的最佳路线。为了知道路线是什么,您需要查看waypoint_order的值。

对于您的呼叫,航路点顺序为:"航路点订单":[3,2,0,1]

因此,最佳结果是您需要按照以下顺序访问航路点:起点-3-2-0-1-目的地。

在您的情况下,它将是:阿德莱德,SA-麦克拉伦谷,SA-康纳瓦拉,SA-巴罗萨山谷,SA-克莱尔,SA-阿德莱德

请拨打:http://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&目的地=阿德莱德,SA&waypoints=优化:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&传感器=错误

相关内容

  • 没有找到相关文章

最新更新