2016-10-24 1 views
0

com.google.maps Google 라이브러리를 사용하여 Java에서 다음 URL을 준비하려고합니다. 웨이 포인트를 추가하는 적절한 라이브러리 메소드를 찾지 못했습니다. Google지도 API에 경유지를 추가하는 방법을 알려주세요.자바에서 웨이 포인트를 사용하여 Google지도 API 요청을 준비하는 방법

https://maps.googleapis.com/maps/api/directions/json?origin=17.4366668,78.3982614&destination=17.42955,78.34171&waypoints=via: 17.44027,78.39431|via:17.43149,78.38817&key=AIzaSyDhhwfZgJv4DCVuX-RDuXLXfoHWL6FIPAw

나는 GeoAPi 상황에 출발지와 목적지를 추가하는 방법 아래 다음입니다.

GeoApiContext context = new GeoApiContext(); 
    context.setApiKey("AIzaSyDhhwfZgJv4DCVuX-RDuXLXfoHWL6FIPAw"); 

    LatLng originLatLng = new LatLng(17.4366668,78.3982614); 

    LatLng destinationLatLng = new LatLng(17.42955,78.34171); 

    LatLng wayPoints = new LatLng(17.4477, 78.38264); 


    DirectionsResult result = DirectionsApi.newRequest(context) 
      .origin(originLatLng) 
      .destination(destinationLatLng) 
      .waypoints("17.44027,78.39431", "17.43149,78.38817") 
      .await(); 

답변

0

쉽게 Github에서에 소스 코드에서 중간 점 방법을 찾을 수 있습니다 : 웨이 포인트의 PARAMS는 LatLng를 함께

/** 
* Specifies a list of waypoints. Waypoints alter a route by routing it through the specified 
* location(s). A waypoint is specified as either a latitude/longitude coordinate or as an address 
* which will be geocoded. Waypoints are only supported for driving, walking and bicycling 
* directions. 
* 
* <p>For more information on waypoints, see <a href="https://developers.google.com/maps/documentation/directions/#Waypoints"> 
* Using Waypoints in Routes</a>. 
*/ 
public DirectionsApiRequest waypoints(String... waypoints) { 
    if (waypoints == null || waypoints.length == 0) { 
    return this; 
    } else if (waypoints.length == 1) { 
    return param("waypoints", waypoints[0]); 
    } else { 
    return param("waypoints", (optimizeWaypoints ? "optimize:true|" : "") + join('|', waypoints)); 
    } 
} 
+0

답장을 보내 주셔서 감사합니다. 그러나 waypoints 방법은 waypoint 이름의 문자열을 복용, 내 경우에는 나는 경도의 lat하고 긴 있습니다. 패스하는 방법을 모르십니까? – Sydubabu

+0

문자열로 전달할 수 있다고 생각합니다. 귀하의 질문에 코드를 잘 보인다. 이 문자열은있는 그대로 HTTP 요청에 삽입됩니다. 따라서 "17.44027,78.39431"또는 "via : 17.44027,78.39431"을 전달할 수 있습니다. 웨이 포인트 메소드의 소스 코드가이 문자열을 파이프 기호와 조인하는 것을 볼 수 있습니다. – xomena

0

전달할 수 :

https://github.com/googlemaps/google-maps-services-java/blob/master/src/main/java/com/google/maps/DirectionsApiRequest.java

라인 (151)에서 시작 . 나를 위해 일하는 코드 샘플은 다음과 같습니다.

DirectionsResult result = DirectionsApi.newRequest(context) 
       .mode(TravelMode.DRIVING) 
       .origin(new LatLng(-7.372732, 110.50824)) 
       .waypoints(new LatLng(-7.272732, 110.508244), new LatLng(-7.172732, 110.508244)) 
       .optimizeWaypoints(true) 
       .destination(new LatLng(-7.372732, 110.508244)) 
       .awaitIgnoreError(); 
관련 문제