我有一个应用程序,需要查询谷歌的方向等。我最近重新组织了我的代码,做了一些优化,以查询路径与航路点,以减少请求发送计数。现在有一个问题:我得到了
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";
答案 0 :(得分:1)
UFL1138是对的。替换“|”与“%7C”一起工作。感谢