2013-10-01 3 views
0


10 У меня есть приложение, которое должно запрашивать Google для маршрутов и т. Д. Недавно я реорганизовал свой код, сделал некоторую оптимизацию для запроса маршрута с путевыми точками, чтобы сократить количество запросов на отправку. В настоящее время существует проблема: Я получаю
java.lang.IllegalArgumentException: недопустимый символ в запросе на индекс 146: http://maps.googleapis.com/maps/api/directions/json?origin=52.4000826,16.8928842&destination=52.4129715,16.8296386&waypoints=52.4053469,16.8969666|52.4049754,16.8811389&sensor=falseНедопустимый символ при запросе

Я считаю, что символ с индексом 146 «|». Что не так с этим персонажем?
Спасибо за любой совет.

Это мой код для построения запросов:

try { 
      String requestString = "http://maps.googleapis.com/maps/api/directions/" 
        + "json?origin=" 
        + Double.toString(start.getLatitude()) 
        + "," 
        + Double.toString(start.getLongitude()) 
        + "&destination=" 
        + Double.toString(end.getLatitude()) 
        + "," + Double.toString(end.getLongitude()); 

      if (points.length > 2) { 
       String waypoints = "&waypoints=" 
         + Double.toString(points[1].getLatitude()) + "," 
         + Double.toString(points[1].getLongitude()); 
       for (int i = 2; i < points.length - 1; i++) { 
        waypoints = waypoints + "|" 
          + Double.toString(points[i].getLatitude()) 
          + "," 
          + Double.toString(points[i].getLongitude()); 
       } 
       requestString = requestString + waypoints; 
      } 
      requestString = requestString + "&sensor=false"; 
+1

Пожалуйста, покажите свой код. Мы можем только догадываться. –

+3

Попробуйте% 7C вместо трубы. См. Это [SO post] (http://stackoverflow.com/questions/1856785/characters-allowed-in-a-url) и [ASCIITable.com] (http://www.asciitable.com/). – UFL1138

ответ

1

UFL1138 прав. Замена «|» с «% 7C». Спасибо

+0

Большое вам спасибо, я потерял около часа. – maatik5

Смежные вопросы