3

ユーザーがルートを要求したときに、Google マップで関連する場所を強調表示する必要があります。実装するためのいくつかのステップを見つけました。しかし、ある時点で行き詰まりました。

多数のポイント (数千) のコレクションがあると仮定しましょう。それらのどれが (動的) ルートにあるかを調べる必要があります。

Step1: まず、ルートに基づいてポイントをフィルタリングします。つまり、ルートの最大緯度、最小緯度、最大経度、最小経度を見つけて、このフィルターをグループに適用します。そのため、適格な候補者の数を減らすことができます。

ステップ 2: RouteBoxer というユーティリティ ライブラリを使用して、不要なポイントを除外することができます。(http://google-maps-utility-library-v3.googlecode.com/svn/tags/routeboxer/1.0/examples/routeboxer-v3.html)

Step3: 上記の 2 つの手順の後、ポイント数を数千から数百に減らしました。そして、これらのポイントは、正確にはそのルート上ではありませんが、そのルートのどこかにあるでしょう。これが私が挑戦するところです。これらのポイントがそのルートにあるかどうかを確認する方法は? すべてのポイントをルートにして距離を確認することは良い解決策だとは思いません(ええ、うまくいきますが..)ルートは任意の距離にすることができます。ポイントとルートの間の最小距離を確認する方法はありますか?

4

2 に答える 2

0

はい、dijkstra または kruskal アルゴリズムがあります。

于 2012-11-13T09:29:52.560 に答える
0

RouteBoxer は、ポリゴンまたはLatLngBoundsのリストを提供します(ポリゴンを提供する場合は、とにかくそこから LatLngBounds を取得できます)。LatLngBounds クラスの contains メソッドを使用して、各ポイントを循環し、そのポイントがこれらの境界のいずれかにあるかどうかを確認できます。

于 2012-11-13T07:40:22.273 に答える