0

道順などを Google にクエリする必要があるアプリケーションがあります。最近コードを再編成し、ウェイポイントを使用してルートをクエリするように最適化して、リクエストの送信数を削減しました。今問題があります:私は得ています
java.lang.IllegalArgumentException: Illegal character in query at index 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 の char は '|' だと思います。あのキャラのどこが悪いの?

アドバイスをありがとう。

これはクエリを作成するための私のコードです:

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

1 に答える 1

3

UFL1138 そうですね。「|」の置き換え 「%7C」で動作しました。ありがとう

于 2013-10-06T22:31:23.943 に答える