を支援します。あなたのルートにはない
- あなたのパスが非常に緻密である(ない場合は、あなたがの中間点を補間することができ)
- 次のようにそれ自体とオーバーラップ(例えば、繰り返し円形経路で機能しないであろう)
..one粗方法は次のようになります
あなたはいつものようにポリラインとしてこれを描く
points = [LatLng(1, 1), LatLng(2, 2), LatLng(3, 3), LatLng(4, 4)]
:Python'yの擬似コードを使用して
は、あなたがこのようなルートを持っていると言います。
次に、あなたの現在の位置を考えると、あなたはルート上の最も近い点を見つけるでしょう:
cur_pos = LatLng(3.1, 3.0123)
nearest_latlng = closest_point(points, to = cur_pos)
を次にnearest_latlng
は、単に二ポリラインを描き、リストにnearest_latlng
を探すLatLng(3, 3)
が含まれますここまで。言い換えれば、あなたは現在の緯度経度でpoints
リストを切り詰める:
progress_points = [LatLng(1, 1), LatLng(2, 2), LatLng(3, 3)]
..その後、前述のようにマップ
にそれを描き、これはパスが(closest_point
のみ史上最初または最後のポイントを見つけるだろう)
あなたが旅してきたどれだけ知っている場合は、そこにある自身にループバックした場合に解除されます主に使用され得るいくつかの方法を与えるepoly拡張:
.GetIndexAtDistance(metres)
Returns the vertex number at or after the specified distance along the path.
インデックスが
上下に算出
closest_point
の代わりに使用することができること
出典
2012-05-01 09:52:43
dbr