0

原点を持つ 10 の場所があります。私は最短経路が欲しいNSMutableArray

例えば

これらは私の場所です:

Starting point(Current Location):-  Ahmedabad 0 km    (lat:XXXXXXX,lng:XXXXXXX)
                  Gandhinagar 30 km (lat:XXXXXXX,lng:XXXXXXX)
                  Rajkot 200 km     (lat:XXXXXXX,lng:XXXXXXX)
                  Limdi  100 km     (lat:XXXXXXX,lng:XXXXXXX)
                  Junagadh 300 km   (lat:XXXXXXX,lng:XXXXXXX)
                  Vanthli 315 km    (lat:XXXXXXX,lng:XXXXXXX)
                  palanpur 400 km   (lat:XXXXXXX,lng:XXXXXXX)
                  keshod 350 km     (lat:XXXXXXX,lng:XXXXXXX)
                  veraval 420 km    (lat:XXXXXXX,lng:XXXXXXX)

このような最短の配列が欲しい

 Output:- Ahmedabad
          Gandhinagar
          Limdi
          Rajkot
          Junagadh
          Vanthli
          Keshod
          Veraval
          Palanpur

最初の位置が私の出発点であることを意味するのでAhmedabad is First、ガンディナガルはアーメダバードから最も近いので、リムディはGandhinagar is secondガンディナガルより最も近いのでLimdi is third、ラジコットはリムディから最も近いのでRajkot is Forth、最後に最短のアルゴリズムですべての場所をカバーする必要があります。

私はGoogle's Distance MatrixAPIを使用していますが、時間がかかります。(正確な結果を得るには、このメソッドを 8 回呼び出す必要があるためです。)

最短で私を見つけて返す方法またはアルゴリズムはありますかNSMutableArray

4

1 に答える 1

0

あなたができることは、単純に のNSDictionary代わりに を都市の名前にNSMutableArray使用し、これらを使用して距離を比較することです。objectForKeyこれがうまくいくことを願っています。

于 2013-09-19T11:28:21.417 に答える