3
アンドロイドアプリの次のコードを検討してください。HttpURLConnectionのURL文字列
private String GetDistance(String src, String dest) {
StringBuilder urlString = new StringBuilder();
urlString.append("http://maps.googleapis.com/maps/api/distancematrix/json?");
urlString.append("origins="); // **"ÇANKIRI,ÇERKEŞ,TURKEY"**
urlString.append(src);
urlString.append("&destinations="); // **"ANKARA,ALTINDAĞ,TURKEY"**
urlString.append(dest);
urlString.append("&mode=driving&sensor=false");
Log.d("xxx","URL="+urlString.toString());
// get the JSON And parse it to get the directions data.
HttpURLConnection urlConnection= null;
URL url = null;
//String urlStr = URLEncoder.encode(urlString.toString(), "utf-8");
//url = new URL(urlStr);
url = new URL(urlString.toString());
......
srcとdest文字列にUnicode文字が含まれていると、Googleの距離行列サービスが失敗します(ステータスはNOT_FOUNDとして返されます)。しかし、私がウェブブラウザ内のGoogleマップサイトの文字列を使用すると、良い結果が返されます。 URLEncoderも使用しようとしましたが、失敗しました。
ご意見はありますか?あなたがURLEncoder.encodeを使用する必要があります
それが動作します!助けてくれてありがとう。 – taslan
私の問題は、ユニコードの絵文字のテキストが正しくサーバーに届かなかったため、これが助けになりました。ありがとうございました – deepakgates