2011-12-27 9 views
5

2つのルートを比較して、iPhoneアプリで同じかどうかを確認します。google direction apisまたは他のapis for iPhoneアプリを使用して2つのルートを比較する方法

ポイントAからポイントBに行きたい人がいて、別の人がポイントA1からポイントB1に行きたいという人がいます。

Googleのこの方向APIを使用して、AからBまでのルートを取得できます。

http://maps.googleapis.com/maps/api/directions/xml?origin=Point a A address&destination=Point B address&sensor=false

同じように私はB1にA1のルートを取得することができます。

xmlsに入っている緯度と経度は一致しません(単一の点でも一致しません)。だからここに私の質問は、私はこの同じルートかどうかを知りたい2つのルートに一致することができます。

enter image description here

答えて

1

最適なルートA1B1は、実際にはABは、私は同様の経度と緯度を共有するマッチングステップのSTART_LOCATIONとend_locationsを期待するルートのサブセットですが、これはの要件ではない場合方向API。 AからBへの最適なパスはA1とB1を通過する可能性がありますが、A1からB1までの最適なパスが全く同じステップを共有するわけではありません。

あなたがしたいことは、経路セグメントに対して返されたポリラインポイントを見て、それらが正しい順序でA1とB1を通過するかどうかを確認することです。 thisアルゴリズムを使用して、コード化されたポリライン文字列を緯度と経度のリストに展開できます。

+0

良いidea..do私はそれらをデコードする際に緯度長い値が直接一致していないので、あなたが..任意のアイデアをploylinesを比較するための任意のシンプルなアルゴを知っていますか? – Saurabh

+0

私は確かに正確な==マッチの代わりに公差を探すでしょう、おそらく単純な(lat1-lat2)+(long1-long2)<=スレッシュホールド、ここでスレッシュホールドはあなたが "近くに近い" " – bamnet

関連する問題