1

Google マップ サービスを使用して、2 地点間のルート データを dragdir 形式で取得しています。

http://maps.google.com/maps?f=d&hl=en&saddr=43.2602841679131,16.6526985168457&daddr=43.5602841679131,16.7526985168457&ie=UTF8&0&om=0&output=dragdir

特定の ISP (例: t-com) を介してインターネットに接続しているユーザーの方向パスが、描画、拡大縮小、回転、変換、またはそれらの任意の組み合わせで表示されるという方法で明らかになります。

また、Android ネイティブ アプリでも同じパターンを使用しており、このような問題に遭遇したことはありません。

説明されている問題を回避するための提案や良い習慣はありますか?

Maps API から返される dragdir json オブジェクトのサンプルを次に示します。

{tooltipHtml:" 
    (151\x26#160;km / 1 hour 51 mins)",polylines:[{id:"route0",points:"e}ruGis|eBsGdPiBxJ{Ab
    h@aAdKoDjNeDlHuC~Di@bBsAnPqAlGwDpGmDbCkGrO
aCzJ.. more scrambled data here ..?B",numLevels:4,zoomFactor:16}]}

ありがとうございました!

4

2 に答える 2

0

ページが世界のさまざまな場所からアクセスされている場合、方向が異なる可能性があります。開発者ガイドの「ルート案内の地域バイアス」セクションから:

Google Maps API Directions Service は、JavaScript ブートストラップを読み込んだドメイン (地域または国) の影響を受ける住所の結果を返します。(ほとんどのユーザーはhttp://maps.google.com/をロード するため、暗黙的なドメインが米国に設定されます。) サポートされている別のドメインからブートストラップをロードすると、そのドメインの影響を受けた結果が得られます。たとえば、「サンフランシスコ」を検索すると、 http://maps.google.com/ (米国) を ロードするアプリケーションと、 http://maps.google.es/ (スペイン) をロードするアプリケーションでは異なる結果が返される場合があります。

リクエスト URL パラメーターに以下を追加することで、リージョン バイアスを強制できます。

[after sensor=false, etc.] &region=US

これにより、ルート サービスが特定の地域 (この場合は米国) に偏った結果を返すように設定されます。

于 2012-05-11T21:17:17.263 に答える
0

Google が出力に地域固有の変更を加えていると思います。

サーバーに直接呼び出しを行ってから、サーバーから Google サービスを呼び出して均一な結果を取得することをお勧めします。

Google サービス calll 自体で地域についても言及できるかどうかを確認してください。

于 2012-05-11T10:08:42.027 に答える