从Google-distance网址中提取持续时间

时间:2017-04-15 15:10:33

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

我正在开发一个地图应用程序,使用户能够发送他到达另一个地方,到数据库(MySQL)的持续时间数据,因此我尝试提取双值来自url的持续时间,如下面的方法所示:

intents

在这种方法中它起作用,但当我尝试这样做时:

  @Override
public void setDouble(String result) {
    String res[]=result.split(",");
    Double min=Double.parseDouble(res[0])/60;
    int dist=Integer.parseInt(res[1])/1000;
    Duree.setText("Duration= " + (int) (min / 60) + " hr " + (int) (min % 60) + " mins");
    Distance.setText("Distance= " + dist + " kilometers");
}

它向我显示它不是一个有效的双值,因为我知道当我点击标记点击后弹出窗口上显示的按钮时我需要发送这个值(所以提出了内部类的问题)。 如果可能的话,你能帮助我知道做正确的方法是什么!

1 个答案:

答案 0 :(得分:1)

不要期望您的第一个结果字段包含持续时间,但会使您的解析更加智能化。例如,使用org.json库(introduction on json

以下代码段应该有所帮助:

LOGGER.debug("---google duration in seconds = {}", jsonElement.opt("duration") == null ? 0 : jsonElement.getJSONObject("duration").get("value"));

transportInfo.setDuration(jsonElement.opt("duration") == null ? 0 : (Integer) jsonElement.getJSONObject("duration").get("value"));

顺便说一句,我建议您从帖子中尽快删除API密钥....请注意,此密钥可供其他人使用。