2017-04-15 2 views
0

나는 다른 장소, 데이터베이스 (MySQL)에 도착하는 데 소요되는 기간 데이터를 보낼 수있는지도 앱을 개발 중입니다. 이러한 이유로 내가 시도한 이유입니다. 그 아래의 방법에 표시됩니다으로 directely URL에서 시간의 두 배 값을 추출하기 :Google 거리 URL에서 추출 시간

@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"); 
} 

는 일이 방법에서는,하지만 난 이런 식으로 작업을 수행하려고 할 때 :

url = "https://maps.googleapis.com/maps/api/distancematrix/json?origins="+latt+","+lngg+"&destinations="+lt+","+lg+"&mode=driving&language=fr-FR&avoid=tolls&key=API_KEY"; 
String res[]=url.split(","); 
Double duration=Double.parseDouble(res[0])/60; 

을이 보여 그게 유효한 이중 값이 아니에요, 내가 버튼을 클릭 할 때이 값을 보내야한다는 것을 알았습니다. 마커를 클릭 한 후 팝업 창에 나타납니다 (내부 클래스의 문제가 제기 됨). 가능한 경우 올바른 방법이 무엇인지 알 수 있습니까?

답변

1

첫 번째 결과 필드에 재생 시간이 포함되어 있지만 파싱이 좀 더 지능적이라고 기대하지 마십시오. BTW, 난 당신의 게시물에서 최대한 빨리 당신의 API 키를 제거하는 것이 좋습니다,

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")); 

을 그리고 .... : 사용 예에 ​​의해, 코드 다음은 org.json 라이브러리 (introduction on json

조금 도움이 될 것입니다 이 열쇠가 다른 사람들이 사용할 수 있다는 것을 알아 두십시오.

+0

나는 매우 잊어 버렸습니다. –