Настройте окно просмотра googlemap в iphone - PullRequest
1 голос
/ 14 декабря 2010

m застрял в выяснении, как я могу установить область просмотра для маркеров моей карты Google.

есть ли способ сделать это в objC ??

или я должен сделать этомоя карта сама ???если да, то как ???

Мой код для карты Google просто показывает карты вместе с маркерами, но когда я нажимаю на него, он просто показывает название места в небольшом окне .. :(

как сделать это правильным окном просмотра ???

вот изображение окна просмотра: alt text

1 Ответ

1 голос
/ 14 декабря 2010

1) Вы можете подкласс MKAnnotationView.Я думаю, что это лучший способ решить вашу проблему.

2) Вы можете настроить вид аннотации, например:

- (MKAnnotationView *) mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation {
    static NSString* ItemAnnotationIdentifier = @"itemAnnotationIdentifier";
    MKPinAnnotationView* pinView = (MKPinAnnotationView *)
                                  [theMapView dequeueReusableAnnotationViewWithIdentifier:ItemAnnotationIdentifier];
    if (!pinView)
    {
      // if an existing pin view was not available, create one
      MKPinAnnotationView* customPinView = [[[MKPinAnnotationView alloc]
                                             initWithAnnotation:annotation 
                                             reuseIdentifier:ItemAnnotationIdentifier] 
                                            autorelease];
      customPinView.canShowCallout = YES;

      UIImage *logo = [ImageProcessor scaleImage:[UIImage imageNamed:@"logo.png"] toSize:CGSizeMake(30, 30)];
      customPinView.leftCalloutAccessoryView = [[[UIImageView alloc] initWithImage:logo] autorelease];

      UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
      rightButton.tag = [((ItemAnnotation *)annotation).itemId intValue];
      [rightButton addTarget:self
                      action:@selector(showDetails:)
            forControlEvents:UIControlEventTouchUpInside];
      customPinView.rightCalloutAccessoryView = rightButton;      

      return customPinView;
    }
    else
    {
      pinView.annotation = annotation;
    }
    return pinView;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...