1

Google マップのストリート ネットワークに一致するルートをマップしようとしています。

Google Maps Directions API から JSON の結果をシリアル化する方法を知っています。

現在、個々のルーティング ステップからのポリラインのエンコードを検討しています。

ここでスタックオーバーフローでいくつかのデコーダーアルゴリズムを見つけましたが、最初に Google 独自のInteractive Polyline Encoderをテストしました。エンコードされた行が Google マップと一致することを期待しますが、一致しません。

スクリーンショットは、左側にインタラクティブ ポリライン エンコーダーでエンコードされたセグメントの結果、右側に Google マップ ルートの結果を示しています。

ここに画像の説明を入力

エンコードされたポリラインは「uxhuBxrc|QPA@?@?B?B@@B@D@HDFD@B@H@JBB@DBFJ」です。

Google の Interactive Polyline Encoder のアルゴリズムが間違っている可能性はありますか?

Jeffrey Sambells アルゴリズムをテストして、その結果が Google の Interactive デコーダーの結果と一致するかどうかを知っている人はいますか?

乾杯、デニス

編集:問題は、エンコード アルゴリズムではなく、返されたポリライン セグメントにあります。Google が Directions API ページのサンプル レスポンスで提供しているサンプル セグメントでさえ、基礎となる道路のジオメトリにうまく適合していません。

ここに画像の説明を入力

4

4 に答える 4

2

これには私も苦労しました。私が思いついた唯一の解決策は(うまく機能しますが)、Googleのsnap to road APIを使用することです。不正確なポリラインの座標を API に送信すると、修正された座標が返されます。

お役に立てれば。

于 2016-04-21T22:57:07.400 に答える
0

数か月後、ようやく Google から返信がありました。残念ながら、彼らは問題を理解して助けてくれませんでした。デコードアルゴリズムをもう一度見て、自分で質問に答えることができるようになりました.

アルゴリズムは座標を 1e5 に丸めます。

Google ポリライン アルゴリズム

したがって、最高のズーム レベルでより高い精度を持つ、基礎となる道路網のレンダリングに適合するポリラインをエンコードすることは不可能です。

この画像は、座標が 1e5 に丸められた最大の位置精度を示しています。

ここに画像の説明を入力

于 2014-08-28T17:19:37.103 に答える
0

ここに画像の説明を入力

からサンプル プロジェクトをダウンロードすることもできます。

https://github.com/xomena-so/so47492459

API キーを自分のものに置き換えることを忘れないでください。

これが役立つことを願っています!

于 2018-01-29T13:26:06.503 に答える