Mam bieżącą lokalizację na podstawie wartości długości i szerokości geograficznej, a następnie mam również wiele miejsc na mapie google przy użyciu adnotacji. Teraz chcę uzyskać wartości długości i szerokości geograficznej na podstawie adresu (tj. Ulicy, miasta i hrabstwa). Proszę podać wskazówki, jak można to osiągnąć.Pobierz szerokość i długość geograficzną w oparciu o adres przy użyciu klasy Geocoder w systemie iOS
Do tej pory, to co próbowałem: -
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
@synthesize streetField = _streetField, cityField = _cityField, countryField = _countryField, fetchCoordinatesButton = _fetchCoordinatesButton, nameLabel = _nameLabel, coordinatesLabel = _coordinatesLabel;
@synthesize geocoder = _geocoder;
- (void)viewDidLoad
{
[super viewDidLoad];
_streetField.delegate=self;
_cityField.delegate=self;
_countryField.delegate=self;
// Do any additional setup after loading the view, typically from a nib.
}
- (IBAction)fetchCoordinates:(id)sender {
NSLog(@"Fetch Coordinates");
if (!self.geocoder) {
NSLog(@"Geocdoing");
self.geocoder = [[CLGeocoder alloc] init];
}
NSString *address = [NSString stringWithFormat:@"%@ %@ %@", self.streetField.text, self.cityField.text, self.countryField.text];
NSLog(@"GET Addres%@",address);
self.fetchCoordinatesButton.enabled = NO;
[self.geocoder geocodeAddressString:address completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"Fetch Gecodingaddress");
if ([placemarks count] > 0) {
CLPlacemark *placemark = [placemarks objectAtIndex:0];
NSLog(@"GET placemark%@",placemark);
CLLocation *location = placemark.location;
NSLog(@"GET location%@",location);
CLLocationCoordinate2D coordinate = location.coordinate;
self.coordinatesLabel.text = [NSString stringWithFormat:@"%f, %f", coordinate.latitude, coordinate.longitude];
NSLog(@"CoordinatesLabel%@",self.coordinatesLabel.text);
if ([placemark.areasOfInterest count] > 0) {
NSString *areaOfInterest = [placemark.areasOfInterest objectAtIndex:0];
self.nameLabel.text = areaOfInterest;
NSLog(@"NameLabe%@",self.nameLabel.text);
}
}
self.fetchCoordinatesButton.enabled = YES;
}];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
@end
Powyższy kod nie działa mi dać swobodę i longitude.Need pomocy na to, co robię źle tutaj lub jeśli brakuje mi na czymś.
Dzięki z góry.
użyj tego linku to jest nadzieja dla Ciebie http://stackoverflow.com/questions/21595538/get-latitude-and-longitude- based- on-zip-using-geocoder-class-in-ios/21595688 # 21595688 –
@ Anbu.Karthik Potrzebuję uzyskać wartości długości i szerokości geograficznej na podstawie adresu.Twój kod na podstawie kodu pocztowego. próbowałem ci kodu podałem nazwę mojego miasta i nazwę kraju do adresu URL, ale to nie działa Proszę dać mi jakiś pomysł – user3792517