2014-09-14 2 views
1

Android에서 Google API V2를 사용하고 있습니다. 내가 pointB에 pointA에서 경로를하고 싶지만 내가 요청해야한다는 pointC 및 pointD, Google says을 통해 그것을 확인하려면 :불법 문자 "|" Google Maps API V2 요청시

Caused by: java.lang.IllegalArgumentException: Illegal character in query at index 191: blablabla (it is because | character) 
     at java.net.URI.create(URI.java:727) 
     at org.apache.http.client.methods.HttpPost.<init>(HttpPost.java:79) 
     at mcd0n3ld.roadcheckpoints.ToolsMap$JSONParser.getJSONFromUrl(ToolsMap.java:216) 
     [some more but not interesting...] 

그러나

http://maps.googleapis.com/maps/api/directions/json?origin=pointA&destination=pointB&waypoints=pointC|pointD 

,이 오류가 발생합니다 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

종류와 관련, 라울

답변

4

당신이 일을

String url = "http://maps.googleapis.com/maps/api/directions/json?origin=pointA&destination=pointB&waypoints="+params; 
+0

CONCAT 다음 URL Encoder

String params = "pointC|pointD"; try { params = URLEncoder.encode(params, "UTF-8"); } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } 

하여 매개 변수를 인코딩 할 필요가! 처음에는 전체 URL을 URL 인코딩하려고했지만 작동하지 않았습니다. 당신이 말한대로 일했는데 그것은 문제가있는 부분을 URL 인코딩하는 것입니다. 고마워요! : D – McD0n3ld

+0

환영합니다 @ user1927490 –

관련 문제