-1

次のように、座標のみを含む CLLocation 配列を取得する必要があります。

var locations = [CLLocation(latitude: 38.5, longitude: -120.2),
        CLLocation(latitude: 40.7000, longitude: -120.95000),
        CLLocation(latitude: 43.25200, longitude: -126.453000)]

私は現在、次のようにすべての場所を保存しています:

var locationArray: [CLLocation] = []

didUpdateLocations で:

locationArray.append(locations[0] as CLLocation)

しかし、私がいつも得ているのは次のようなものです:

[<-122.02684687,+37.32956209> +/- 0.00m (速度 -1.00 mps / コース -1.00) @ 10/9/14、午後 2:12:49 中央ヨーロッパ夏時間、<-122.02685248,+37.32959580> +/ - 0.00m (速度 -1.00 mps / コース -1.00) @ 10/9/14, 2:12:49 PM 中央ヨーロッパ夏時間、<-122.02685221,+37.32963096> +/- 0.00m (速度 -1.00 mps / コース-1.00) @ 10/9/14, 2:12:49 PM 中央ヨーロッパ夏時間, <-122.02685460,+37.32966692> +/- 0.00m (速度 -1.00 mps / コース -1.00) @ 10/9/14, 2:12:49 PM 中央ヨーロッパ夏時間

CLLocationCoordinate2D に変換しようとしましたが、常に完全な位置配列を取得し、上記の例を取得することはありません。私も次のようなことを試しました:

for (index,element) in enumerate(locationArray) {

        var cllocation = CLLocation(latitude: element.coordinate.longitude, longitude: element.coordinate.latitude)

        coordinatesArray.append(cllocation)

    }

しかし、それは完全な位置配列も返します。私は何を間違っていますか?座標のみで CLLocation 配列を作成するにはどうすればよいですか? あなたが私を正しい方向に向けることができれば、それは素晴らしいことです.

4

2 に答える 2

1

どうですか:

var locationArray: [CLLocationCoordinate2D] = []
locationArray.append(CLLocationCoordinate2D(latitude: ..., longitude: ...))

CLLocationcoursealtitude精度などの他のすべてのものを含みます...

CLLocationCoordinate2D緯度と経度が含まれているだけです。

于 2014-10-09T12:26:11.953 に答える
0

CLLocationCoordinate2D 配列を投げて反復し、それを CLLocation に変換できます。CLLocation には適切な init メソッド ( - (instancetype)initWithLatitude:(CLLocationDegrees)latitude longitude:(CLLocationDegrees)longitude ) があります。

于 2014-10-09T12:27:08.913 に答える