【问题标题】:Getting zipcode into a textfield将邮政编码放入文本字​​段
【发布时间】:2023-04-10 12:48:01
【问题描述】:

所以我查看了 Apple 的示例代码,用于获取用户位置。这对我来说很好,它的显示位置是正确的。

现在我想在我创建的名为“zipCode”的文本字段中显示邮政编码。我该怎么做?

试过了:

- (void)locationManager:(CLLocationManager *)manager
     didUpdateLocations:(NSArray *)locations {
    CLLocation *location = [locations objectAtIndex:0];
    NSLog(@"lat%f - lon%f", location.coordinate.latitude, location.coordinate.longitude);
    zipCode.text = self.placemark.postalCode;
}

但这没有用。

【问题讨论】:

  • 不,我没有。但我也不知道如何在 nslog 中显示它

标签: iphone objective-c ios uitextfield location


【解决方案1】:

你需要使用reverseGeocodeLocation,比如:

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

    CLLocation *location = [locations objectAtIndex:0];
    CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:location completionHandler:
     ^(NSArray* placemarks, NSError* error){
         if ([placemarks count] > 0)
         {
             CLPlacemark *placemark = [placemarks objectAtIndex:0];
             zipCode.text = placemark.postalCode;
         }
     }];
}

记得导入 CoreLocation.framework

【讨论】:

  • 我得到 3 个错误:/Users/florianschaal/Developer/Janssenpakketapp/Janssenpakketapp/NewTrackTraceViewController.m:83:24:初始化元素不是编译时常量/Users/florianschaal/Developer/Janssenpakketapp/ Janssenpakketapp/NewTrackTraceViewController.m:84:1:预期标识符或“(”/Users/florianschaal/Developer/Janssenpakketapp/Janssenpakketapp/NewTrackTraceViewController.m:84:34:使用未声明的标识符“位置”
  • 您删除了之前的代码:CLLocation *location = [locations objectAtIndex:0];我已经更新了我的答案
【解决方案2】:

如果您想要关于地图上某个位置的隐蔽信息,您必须使用反向地理编码。
都写了here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    相关资源
    最近更新 更多