2012-03-29 10 views
-1

ロケーションアドレスの合計アドレスと座標を取得していますが、Googleマップに表示する座標だけが必要です。 iPhoneではどのように可能ですか?コンテンツの合計アドレスから座標を取得する方法は?

- (void)geocode { 
    [SVGeocoder geocode:addressField.text 
      completion:^(NSArray *placemarks, NSError *error) { 
       UIAlertView *alertView; 

       if(!error && placemarks) { 
        SVPlacemark *placemark = [placemarks objectAtIndex:0]; 

        NSLog(@"%@",placemarks); 
        alertView = [[UIAlertView alloc] initWithTitle:@"Placemark Found!" message:[placemark description] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
       } else { 
        alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:[error description] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
       } 

       [alertView show]; 
       [alertView release]; 
      }]; 

ジオコード

の応答 "{\ nのアドレス= {\ nは市= Nalgonda; \ nは国= インド; \ nは国番号IN =; \ nは国家= \" \ n座標\ {\ n latitude = \ "17.05239 \"; \ n経度= \ "79.26718 \"; \ n}; \ n
formattedAddress = \ "Nalgonda、 Andhra Pradesh、India \ "; \ n}"

+0

ドキュメントを読んで(逆ジオコーディング)、stackoverflowの検索機能を試してみてください。 – Pochi

+1

ようこそスタックオーバーフロー。 [FAQ](http://stackoverflow.com/faq)をお読みください。あなたは本当にあなたの既存の質問(http://stackoverflow.com/questions/9920640/how-to-get-latitude-and-longitude-from-a-full-address-country-city-etc)を改善するべきです。新しいもの –

+1

以前の質問をこの質問にマージしました。これははるかに良い質問です。しかし、将来はオリジナルを編集してください。 –

答えて

3

お試しください

- (CLLocationCoordinate2D) geoCodeUsingAddress:(NSString *)address 
{ 
    double latitude = 0, longitude = 0; 
    NSString *esc_addr = [address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    NSString *req = [NSString stringWithFormat:@"http://maps.google.com/maps/api/geocode/json?sensor=false&address=%@", esc_addr]; 
    NSString *result = [NSString stringWithContentsOfURL:[NSURL URLWithString:req] encoding:NSUTF8StringEncoding error:NULL]; 
    if (result) { 
     NSScanner *scanner = [NSScanner scannerWithString:result]; 
     if ([scanner scanUpToString:@"\"lat\":" intoString:nil] && [scanner scanString:@"\"lat\":" intoString:nil]) { 
      [scanner scanDouble:&latitude]; 
      if ([scanner scanUpToString:@"\"lng\":" intoString:nil] && [scanner scanString:@"\"lng\":" intoString:nil]) { 
       [scanner scanDouble:&longitude]; 
      } 
     } 
    } 
    CLLocationCoordinate2D center; 
    center.latitude = latitude; 
    center.longitude = longitude; 
    return center; 
} 
+1

Obj-Cですべてのクラスを準備している場合は、なぜGoogleマップapi(直接)を使用するのですか? – Francesco

関連する問題