1

Core Location を使って座標を書いてみたところ、うまく動いています。唯一のことは、座標に関しては野菜です。

座標を取得するコードです。

- (void)viewDidLoad
{
[super viewDidLoad];

self.locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
       fromLocation:(CLLocation *)oldLocation
{
if (startingLocation == nil)
    self.startingLocation = newLocation;
NSString *latitudeString  = [[NSString alloc] initWithFormat:@"%g",newLocation.coordinate.latitude];
latitudeLabel.text = latitudeString;

NSString *longitudeString = [[NSString alloc] initWithFormat:@"%g",newLocation.coordinate.longitude];
longitudeLabel.text = longitudeString;

NSString *horizontalAccuracyString = [[NSString alloc] initWithFormat:@"%g",newLocation.horizontalAccuracy];
horizontalAccuraryLabel.text = horizontalAccuracyString;

NSString *altitudeString = [[NSString alloc] initWithFormat:@"%g",newLocation.altitude];
altitudeLabel.text = altitudeString;

NSString *verticalAccuracyString = [[NSString alloc] initWithFormat:@"%g",newLocation.verticalAccuracy];
verticalAccuracyLabel.text = verticalAccuracyString;

CLLocationDistance distance = [newLocation getDistanceFrom:startingLocation];
NSString *distanceString = [[NSString alloc] initWithFormat:@"%g",distance];
distanceTraveledLabel.text = distanceString;

}

ヨーロッパ、ルーマニアからコードを実行しているときに、緯度:37.7858、長さ:-122.406、これは米国のどこかにあります...

シミュレーターから実行されているためでしょうか?

また、 locationManager:didUpdateToLocation:fromLocation が非推奨であることは知っていますが、次のようにしてみました:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

しかし、[location lastObject] の要素にアクセスする方法がわかりません。

4

1 に答える 1

2

その緯度と経度の組み合わせはサンフランシスコであり、多くの Apple 従業員が (豪華な通勤バスを利用して) 通勤する本拠地です。

シミュレーターが動作している場所を非常に簡単に設定できます。

iPhoneシミュレーターで好みの場所を設定できます

私の知る限り、ブカレストの緯度と経度は「44.4325」と「26.103889」です。

" " の要素へのアクセスに関しては[location lastObject]、その配列内のオブジェクトは " " プロパティを持つCLLocation オブジェクトになります。coordinate" didUpdateLocations:" デリゲート メソッドが呼び出された場合、その配列には常に少なくとも 1 つの場所 (" lastObject" 経由でアクセスする場所) があります。

于 2013-06-21T11:33:13.557 に答える