2010-12-17 6 views
0

の位置の間にすべての座標を取得誰も私の緯度を取得する方法を教えてくれますか? 実装の一部として、ルートを描画するために、開始端のエンドポイントの間にすべてのLat、Long値を設定したいと考えています。iphone Map Kit

事前に感謝しますが...

+0

まず、そのリンクを描画する方法を説明しているのでaleph_0座標対のための部屋... –

答えて

0

あなたは "すべて" とはどういう意味ですか?緯度/経度のペアは2倍であるため、あなたは無限の数の点について話しています。

2つのポイント間に線を描きたい場合は、CAShapeLayerを使用してマップ上に線を描き、線を結ぶことができます。

しかし、「ルート」という単語は、道路に沿って移動するポイントを知りたいということを意味します。もう一度、あなたは本当に何を求めているのですか?人々が運転できるルート?歩く?バスに乗る? MapKit自体はルーティングに全く役に立たないので、他のサードパーティーのフレームワークを見なければなりません。

+0

でバッファを割り当てますマップ上のルート、ルーティングエンジンが本当に必要だと思っています - CloudMadeのようなSDKを見なければなりません:http://developers.cloudmade.com/projects/show/routing-http-api –

+0

Waah ... !!!これは最高です.. !!!!私はちょうどそれを見てすぐにトーク...私は仕事を達成することができるはずです。ありがとう、トン... !!!!詳細な応答をいただきありがとうございます。 – bp581

3

ポイントを見つけることはかなり簡単で、賢い三角法を必要としません。ポイント間の距離が特定の量、たとえば100メートルごとに必要な場合は、三角法が必要になります。私たちはシンプルなバージョンをやっていきます。

基本的には、緯度と経度の違いを把握し、必要な点の数を決め(「すべて」は無限数です)、距離を点数で割り、繰り返しそれらを通して。 (注:私はこのコードをテストしていませんが、あなたのアイデアを得ることができる必要があります。)

// Making my own names for your start and stop coordinate, use your own 
CLLocationCoordinate2D startPoint; // Your starting latitude and longitude 
CLLocationCoordinate2D stopPoint; // Ending latitude and longitude 

CLLocationCoordinate2D newPoint; // A newly-created point along the line 

double latitudeModifier; // Distance to add/subtract to each latitude point 
double longitudeModifier; // Distance to add/subtract to each longitude point 

int numberOfPoints = 100; // The number of points you want between the two points 

// Determine the distance between the lats and divide by numberOfPoints 
latitudeModifier = (startPoint.latitude - endPoint.latitude)/numbernumberOfPoints; 
// Same with lons 
longitudeModifier = (startPoint.longitude - endPoint.longitude)/numbernumberOfPoints; 

// Loop through the points 
for (int i = 0; i < numberOfPoints; i++) { 
    newPoint.latitude = startPoint.latitude + (latitudeModifier * i); 
    newPoint.longitude = startPoint.longitude + (longitudeModifier * i); 

    // Do something with your newPoint here 

} 
+0

コードは必要な値を得るためにうまくいきました。しかし残念ながら、私が達成したいことはしません。 結果のポイントは開始点と終了点の間に直線を描きます。 spitzkoff.com/craig/?p=65の例では、すべての曲線位置の緯度、経度が使用可能であるため、曲線が描かれています。どのように私は曲線/ルートマップを描画することができます任意のアイデア... ????この問題を手伝ってくれてありがとう... !!!! – bp581

+0

ああ、あなたが直線を指していると思った。 Google Maps API経由で実際の道路ルートを取得できます。出発地と目的地を送信し、各停留所(および曲がった道路など)の両方の緯度/経線のペア、および運転または歩行の方向を示す完全なルートを段階的に送信します。 http://code.google.com/apis/maps/documentation/directions/ –

+0

偉大な.. !!!どうもありがとう ..!!!!これはあまりにも.. !!! – bp581