2012-01-10 10 views
0

こんにちは、私はGoogle Maps Directions APIで遊んでたとドキュメントで、それは述べているすべて:ロケーションを指定するには何文字必要ですか?

行き方APIのURLは、URLエンコードする前に、2048の文字に制限されています。いくつかのルートサービスURLには経路に沿った多くの場所が含まれるため、URLを構築する際にはこの制限に注意してください。

Googleが414エラー(2048文字を超える場合)をお知らせします。しかし、私は何が最善の対処方法であると思っていたと彼の要求は長すぎるユーザーを知らせる?私は、ユーザーに "場所のテキストボックスの文字数を減らす"ように指示するのはあまりユーザーフレンドリーではないと思う。

私のアプリでは、開始位置、終了位置、最大4つのウェイポイントしか指定できません。その他の情報のほとんどは、ユーザーが提供していません。他のパラメータのオーバーヘッドを取り除いて、開始位置、終了位置、および4つのウェイポイントについて合計1800文字を入力できるようにすることができます。

各場所を300(1800&6; 6)文字に制限することが安全であれば、ユーザーは決して2048文字を超える要求を指定することはできません。

質問を言い換えると、地球上のすべての可能な場所の名前(私は地球以外の場所のサポートは必要ありません)が300文字以内であると仮定するのは理にかなっていますか? 300でない場合は、何が安全な番号ですか?

答えて

2

これは直接あなたの質問に答えていませんが、私は、URLの長さ制限に周り、次の作業をお勧めします:

あなたの6箇所の長さが1800文字を超える場合は、最初の長い場所をジオコード。ロケーションテキストの代わりにジオコードを送信する場合は、制限値に収まる必要があります。これを行う1つの副作用は、ジオコードがロケーションテキストではなく方向テキストになることです。これを修正するには、APIから返されたテキストを修正し、元のテキストを元に戻します.APIはこれを行う方法を提供します。それは痛みですが、限界を乗り越える方法です。

+0

「もっと長い場所を最初にジオコードする」と言うとき、それを行うための*追加のウェブリクエストを送信することを意味しますか? – Pacerier

+0

はい、それは私が言っていることです。最も効率的ではありませんが、物事を遅くする必要はありませんし、あなたの限界を超えて取得します。 – Mark

関連する問題