25

viewDidLoadに次のループがあります。

    for(int i=1; i<[eventsArray count]; i++) {
  NSArray *componentsArray = [[eventsArray objectAtIndex:i] componentsSeparatedByString:@","];
  if([componentsArray count] >=6) {
   Koordinate *coord = [[Koordinate alloc] init];
   coord.latitude = [[componentsArray objectAtIndex:0] floatValue];
   coord.longtitude = [[componentsArray objectAtIndex:1] floatValue];
   coord.magnitude = [[componentsArray objectAtIndex:2] floatValue];
   coord.depth = [[componentsArray objectAtIndex:3] floatValue];
   coord.title = [componentsArray objectAtIndex:4];
   coord.strasse = [componentsArray objectAtIndex:5];
   coord.herkunft = [componentsArray objectAtIndex:6];
   coord.telefon = [componentsArray objectAtIndex:7];
   coord.internet = [componentsArray objectAtIndex:8];
   [eventPoints addObject:coord];


  }

座標はCLLocationCoordinate2Dです

しかし、次の方法でcoordを使用するにはどうすればよいですか。これは、2つの座標間の距離を取得するために必要だからです。

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

}

私が立ち往生しているのを助けてください!

よろしくお願いします

4

5 に答える 5

42

CLLocationには、という名前の初期化メソッドがあります-(id)initWithLatitude:(CLLocationDegrees)latitude longitude:(CLLocationDegrees)longitude。次に- (CLLocationDistance)getDistanceFrom:(const CLLocation *)location、2 つの CLLocation オブジェクト間の距離を取得するために使用します。

于 2010-02-23T14:42:34.153 に答える
2

「インスタンスを CLLocation として使用するにはどうすればよいですか?」</p>

それは一つではないので、あなたはできません。作成する必要があります。

割り当てたものを解放することを忘れないでください。メモリ管理規則を参照してください。

于 2010-02-24T16:05:50.990 に答える
0

coord が の場合CCLocationCoordinate2D、 newLocation を

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

以下のように、 の座標プロパティのlatitudeとプロパティの両方を取得してデリゲートします。longitudeCLLocation

coord.latitude = newLocation.coordinate.latitude;
coord.longitude = newLocation.coordinate.longitude;
于 2012-02-16T04:41:14.760 に答える