2009-07-07 3 views
1

私には問題があると思います... マップキットを使用してアプリケーションをコーディングし、GPSが搭載されていないシミュレータを使用してMacで開発を行っています。したがって、ユーザーの位置をシミュレートするために座標をハードコードしました。今日私は初めて自分のiPhoneで自分のアプリを試したときに、GPSから座標を読み込み、ユーザーの位置に関する情報を得るためにコードを少し変更しなければならないと思った。しかし、それは容易ではなかった。誰かがこれを解決するためのアイデアを持っていますか?私は別の位置までの距離を計算するためにユーザーの経度と緯度が必要で、私はこれを何かできると思った...?ユーザーの場所をiPhone上の座標に読み取る際の問題

CLLocationManager *clm = [[CLLocationManager alloc]init];
[clm.delegate self]; [clm startUpdatingLocation];


userLocationFromGPS = clm.location.coordinate;
//the userLocationFromGPS is a CLLocationCoordinate2D userLocationFromGPS object

user = [[Annotations alloc]initWithCoordinate:userLocationFromGPS];
[user setTheTitle:@"You are here!"];

userLocationPlain =
[[CLLocation alloc]initWithLatitude:userLocationFromGPS.latitude longitude:userLocationFromGPS.longitude];

は私が...任意のアイデア座標を必要とするが、それらを取得する方法を見つけ出すカント? ありがとうございます!

答えて

2

CLLocationManagerは非同期に位置を報告するため、代理人を指定する必要があります。
LocateMeコードサンプルを検討してください。また、シミュレータの座標をハードコードする必要があります。シミュレータは、Apple本社の座標を使用します。ここで

は(私はそれを実行しなかった)あなたが提供するコードのためのいくつかのリファクタリングです: 次のことをやって考えてみましょう:


    CLLocationManager *clm = [[CLLocationManager alloc] init]; 
    clm.delegate = self; 
    [clm startUpdatingLocation]; 

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateToLocation:(CLLocation *)newLocation 
      fromLocation:(CLLocation *)oldLocation 
{ 

    Annotations *user = [[Annotations alloc] initWithCoordinate:newLocation]; 
    [user setTheTitle:@"You are here!"]; 

    CLLocation *userLocationPlain = 
    [[CLLocation alloc] initWithLatitude:newLocation.latitude 
         longitude:newLocation.longitude]; 

    // At some point you should call [manager stopUpdatingLocation] 
    // and release it 
} 
0

thisとして、あなたが最初の場所の枠組みをインポートする必要があるかもしれません、と言います。

0

お返事ありがとうございます!

msaeed: コードは見栄えが良いです。私はデリゲートを定義しましたが、例のようにメソッドを実装するのを忘れてしまいました。私はそれを試してみましょう!ありがとう!

mcandre: はい私はフレームワークを追加しました。私はKMLから位置を読み込んで処理するときに、アプリケーションの他のメソッドでそのフレームワークの機能を使用します。

/macloop

+1

素晴らしい!将来、「回答」を追加する代わりにコメントを残すことを検討してください。 – notnoop

+0

ああ - そう!私はその機能について知りませんでした;-) もう一度ありがとう! –

関連する問題