2011-08-09 9 views
0

私はMapKitフレームワークのヘルプが必要です。私はiPhone開発が初めてです。 は、私はこのような3つのparamsとURLからロードするのWebViewを持っている:viewDidLoadメソッドでiPhone SDK MKPlacemark

ビューコントローラから:

NSString *hoUrlString = [NSString stringWithFormat:@"http://fastenergy.clavis-solutions.de/?iwidth=%@&iheight=%@&zipcode=%@", hString, wString, zipcode]; 

私は郵便番号を取得することはできません。私はURLの前にこれを呼び出しています:

locationController = [[HoCLController alloc] init]; 
locationController.delegate = self; 
[locationController.locationManager startUpdatingLocation]; 

とHoCLController.m

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

から、この方法では、私はその後、私はこれらの2つの方法があります

MKReverseGeocoder *geocoder = [[MKReverseGeocoder alloc] initWithCoordinate:coord]; 
    [geocoder setDelegate:self]; 
    [geocoder start]; 

を呼び出す

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark { 
    NSLog(@"The geocoder has returned: %@", placemark.postalCode); 

} 

-(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error { 
    NSLog(@"Error: %@", [error description]); 
} 

質問は、どうすればいいですか? tは、URLの郵便番号ですか?

ありがとうございました。

答えて

0

あなたの質問にはすでに回答があります。 placemark.postalcodeは、郵便番号で構成されています。 すべての変数が正しい値であることを確認してください。

zipcode = placemark.postalCode; 

あなたの質問が正しい場合は、答えが必要です。

+0

まずあなたの答えてくれてありがとう。 ' - (void)reverseGeocoder :(MKReverseGeocoder *)ジオコーダーで' zipcode = placemark.postalCode; 'を実行した場合、FindPlacemark:(MKPlacemark *)目印{'メソッド、次にviewDidLoadではnullが返されます。私は、viewDidLoadメソッドでzipCode変数が必要です。 ありがとうございます。 –

+0

メインクラスに郵便番号のプロパティがありますか? @property(非アトミック)NSInteger zipcode;このようなもの。 HoCLControllerから値を取得する必要があります。このリンクはおそらく助けます:http://cocoadevcentral.com/d/learn_objectivec/第7章と第9章 –

+0

HoCLController.hで私は 'NSString * zipCode;'を持っています。これはpostalCodeがNSStringであるため、 '@property(nonatomic、retain )NSString * zipCode; '。 HoCLController.mでは '@synthesize zipCode;'を持ち、ビューコントローラでは 'LocationController = [[HoCLController alloc] init];のように呼び出そうとします。 \t locationController.delegate = self; '' NSLog(@ "郵便番号:%@"、locationController.zipCode);そしてnullを返します。 –

0
MKReverseGeocoder *geocoder = [[MKReverseGeocoder alloc] initWithCoordinate:coord]; 

このメソッドで座標を渡す必要があります。だからcoordがnilでないかどうか確認してください。これがあなたの望むものだと思います。

MKReverseGeocoder *geocoder = [[MKReverseGeocoder alloc] initWithCoordinate:newLocation.coordinate]; 
0

[OK]をああ、それを忘れて...申し訳ありませんが、私は何か欠場 を、あなたはCLLocationManager

をサブクラス化しています? ていない場合は、なぜあなたはこのように配分されています。これに代えてlocationManager = [[HoCLController alloc] init];:私は間違って何かを得ている場合self.locationManager = [[CLLocationManager alloc] init];申し訳ありませんが、私はあなたに答えを与えていると思う...