Показать отели (и рядом с местами) по соответствующему значку на карте в приложении для iPhone - PullRequest
0 голосов
/ 31 января 2012

Я использую Google Места API для поиска мест рядом с предопределенным местоположением.

Работает нормально.Я должен показать PushPins для каждого места.Сейчас я использую красные кнопки для каждого места по умолчанию.

Теперь я хочу показать соответствующий значок для каждого места, например, для;для отелей, ресторанов и т. д ....

На Android мои коллеги-разработчики делают то же самое, используя ответ API Google.

В iPhone я не могу найти ни одноготакая помощь.Есть ли способ сделать это на iPhone ???

1 Ответ

2 голосов
/ 06 февраля 2012

Возможно, это не относится к вашему вопросу. Но некоторые обходные пути.

Я сталкивался с подобной проблемой. Я категоризировал данные, и показал примечания согласно этому наряду с условием. Надеюсь, этот код даст вам представление о том, как я это сделал.

-(MKAnnotationView*)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation 
{
    MKPinAnnotationView *view = nil;
    if (annotation != mapView.userLocation) {
        view = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:@"myAnnotationIdentifier"];
        if (!view) {
            view = [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@"myAnnotationIdentifier"];
            CustomClassAnnotation *desclosureButton = [[CustomClassAnnotation alloc] initWithFrame:CGRectMake(0, 0, 29, 31)];
            [desclosureButton addTarget:self action:@selector(mapAction:) forControlEvents:(UIControlEventTouchUpInside)];
            view.rightCalloutAccessoryView = desclosureButton;
            view.canShowCallout = YES;
            }

        ((CustomClassAnnotation *)view.rightCalloutAccessoryView).annotation = annotation;

        if (((MapViewAnnotation *)annotation).type  == 1) {
            view.image = [UIImage imageNamed:@"image_type1.png"];  
        }
        else if (((MapViewAnnotation *)annotation).type == 2) {
            view.image = [UIImage imageNamed:@"image_type2.png"];
        }
        else if (((MapViewAnnotation *)annotation).type == 3) {
            view.image = [UIImage imageNamed:@"image_type3.png"];
        }
    }
    return view;
}

Удачи ...

...