2014-09-29 24 views
9

W domyślnej aplikacji mapy iOS 8.0 po dotknięciu punktu POI uzyskujesz szczegółowe informacje, w tym nazwę POI i adres.szczegółowe informacje na temat punktu poi w MKMapview

Moje pytanie brzmi:

  1. Czy to możliwe, aby zrobić to samo jak ten z wykorzystaniem MKMapView lub IOS natywnego kodu?

  2. Jeśli nie, w jaki sposób mogę uzyskać dane POI z wykorzystaniem skali mapy (ponieważ punkt POI pokazany na mapie zależy od regionu i skali). Tak więc, potrzebuję pobrać dane, aby wiedzieć, który punkt POI pokazuje w oparciu o ten region i skalę.

Odpowiedz

4

Aby uzyskać szczegółowe informacje, w tym adres UM myślę, że można to zrobić w dwóch etapach:

  1. Pobierz współrzędne UM

  2. konwertować je do uzyskać informacje o adresie; zobaczyć ten piękny przykład:

    CLGeocoder *ceo = [[CLGeocoder alloc]init]; 
    CLLocation *loc = [[CLLocation alloc]initWithLatitude:32.00 longitude:21.322]; //insert your coordinates 
    
    [ceo reverseGeocodeLocation:loc 
         completionHandler:^(NSArray *placemarks, NSError *error) { 
         CLPlacemark *placemark = [placemarks objectAtIndex:0]; 
         NSLog(@"placemark %@",placemark); 
         //String to hold address 
         NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; 
         NSLog(@"addressDictionary %@", placemark.addressDictionary); 
    
         NSLog(@"placemark %@",placemark.region); 
         NSLog(@"placemark %@",placemark.country); // Give Country Name 
         NSLog(@"placemark %@",placemark.locality); // Extract the city name 
         NSLog(@"location %@",placemark.name); 
         NSLog(@"location %@",placemark.ocean); 
         NSLog(@"location %@",placemark.postalCode); 
         NSLog(@"location %@",placemark.subLocality); 
    
         NSLog(@"location %@",placemark.location); 
         //Print the location to console 
         NSLog(@"I am currently at %@",locatedAt); 
        } 
        else { 
         NSLog(@"Could not locate"); 
        } 
    ]; 
    

Jeśli trzeba centrum w regionie Twoja mapa można zrobić to po prostu tak:

- (void)gotoLocation 
{ 
    MKCoordinateRegion newRegion; 

    newRegion.center.latitude = NY_LATITUDE; 
    newRegion.center.longitude = NY_LONGTITUDE; 

    newRegion.span.latitudeDelta = 0.5f; 
    newRegion.span.longitudeDelta = 0.5f; 

    [self.myMapView setRegion:newRegion animated:YES]; 
} 

Mam nadzieję, że te przykłady kodu może pomóc :)

Aby dowiedzieć się więcej o MKMapViewClass (polecam) sprawdź Apple Documentation lub this beatiful example on how to manage POI with Apple Maps.

Powiązane problemy