2012-12-01 2 views
0

누구나이 코드에서 도시, 주 및 주소를 분리하는 방법을 알고 있습니까? 전체 주소를 반환하지만 도시와 주만 원합니다.역 지오 코딩 구성 요소를 분리하는 방법은 무엇입니까?

//Geocoding Block 
[_geoCoder2 reverseGeocodeLocation: _currentLocation2.location completionHandler: 
^(NSArray *placemarks, NSError *error) { 

    //Get nearby address 
    CLPlacemark *placemark = [placemarks objectAtIndex:0]; 

    //String to hold address 
    NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; 

    //Print the location to console 
    NSLog(@"I am currently at %@",locatedAt); 

    //Set the label text to current location 
    [_cityLabel setText:locatedAt]; 

}]; 

답변

0

는 CLPlacemark는 localityadministrativeArea 같은 특성을 갖는다. 문서가 무엇인지 알기 위해 문서를 참조하십시오. 그러나 주소를 구성 요소로 파싱하는 방법을 실험하기 위해 실험하고 싶을 것입니다. 또한 addressDictionary은 주소록 형식이므로시 /도에 대한 키가 있습니다. 당신의 실수는 사전의 구조를 검사하기보다는 그것을 문자열로 바꾸는 것입니다.

+0

매트. 나는 이미 내가 한동안 시간을 ​​보냈던 찾을 수있는 문서를 통해 일하고있다. 나는 어떤 샘플 코드도 찾을 수 없으므로 구문 분석하는 방법에 어려움을 겪고있다. 나는 애플 사이트에서 그 속성들을 보았지만 그것은 보이는 그림의 일부일뿐입니다. 아직 검색 중 ... – mreynol

+0

"샘플 코드"가 필요하지 않습니다. 장소 표시가있어 다양한 속성을 기록하거나 디버거에서 확인하세요. 마찬가지로, 그냥 NSLog 사전이나 디버거에서 봐. 그것이 어떻게 구성되는지 즉시 알 수 있습니다. 당신은 프로그래머입니다. 모든 것을 접시에 담아서 기다릴 필요는 없습니다. – matt

+0

하하 Matt. 나를 믿어 줘. 나는 기다릴 필요가 없다. .... 그러나 나는 그것을 가지고있다. – mreynol

-1
// Reverse Geocoding 
NSLog(@"Resolving the Address"); 
[_geoCoder2 reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) { 
    NSLog(@"Found placemarks: %@, error: %@", placemarks, error); 
    if (error == nil && [placemarks count] > 0) { 
     placemark = [placemarks lastObject]; 
     _cityLabel.text = [NSString stringWithFormat:@"%@\n%@\n", 

          placemark.locality, 
          placemark.administrativeArea]; 

    } else { 
     NSLog(@"%@", error.debugDescription); 
    } 
} ]; 
+0

하지만 그건 정확히 내가 말한 것입니다. 내 대답을 받아들이는 대신, 자신의 대답으로 반복했습니다. – matt

+0

도움이 필요한 여러 종류의 사람들이 있기 때문에. 필자는 문서를 읽음으로써 따로 따로 배울 수있는 코드를보아야합니다. 이 물건을 많이 볼 때 바퀴를 재발 명할 필요가 없습니다. 사람들은 기존 코드를 얻고 배울 때 배운 내용을 문서화하여 시간을 소비하고 필요에 맞게 조정합니다. 코드를 제공하는 것이 사람들에게 더 도움이된다고 느꼈습니다. 죄송하다면 죄송합니다. – mreynol

+0

내 대답은 CLPlacemark 지역 및 administrativeArea 속성에 대해 명시 적으로 설명했습니다. 돌아보고 placemark.locality 및 placemark.administrativeArea 속성을 읽는 코드를 만듭니다. 그러나 당신은 당신이 필요로하는 재산이라고 말했던 나의 대답에 대해 신용하지 않습니다. 네가 도시와 주를 원한다고 말했어. 나는 그걸 가져 오는 법을 말했어. – matt