谷歌符号没有在Mapkit上显示

时间:2011-09-19 07:56:11

标签: iphone objective-c xcode

我在我的代码中使用Mapkit,一切正常。但通常在谷歌地图(Mapkit)上显示的谷歌符号不再显示。任何人都可以向我建议我的代码会发生什么建议。

提前致谢...

-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:
(id <MKAnnotation>)annotation {
    MKPinAnnotationView *pinView = nil; 
    if(annotation != mapView.userLocation) 
    {
        static NSString *defaultPinID = @"com.invasivecode.pin";
        pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
        if ( pinView == nil ) pinView = [[[MKPinAnnotationView alloc]
                                          initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];

        pinView.pinColor = MKPinAnnotationColorRed; 
        pinView.canShowCallout = YES;
        pinView.animatesDrop = YES;
    } 
    else {
        [mapView.userLocation setTitle:@"I am here"];
    }
    return pinView;
}




-(void)LoadLocationOfOffices {
    places = [[NSMutableArray alloc] init];
    Place *aPlace1 = [Place alloc];
    aPlace.title = @"xyz";
    aPlace.subtitle = @"xyz ";

    CLLocationCoordinate2D crd1;
    crd1.latitude = ;
    crd1.longitude = ;

    [aPlace1 addCoordinates:crd1];
    [places addObject:aPlace1];
    [aPlace1 release];
    aPlace1 = nil;

    /*
     Object having address of office 2
     */
    Place *aPlace2 = [Place alloc];
    aPlace2.title = @"xyz";
    aPlace2.subtitle = @"xyz ";
    CLLocationCoordinate2D crd2;
    crd2.latitude = ;
    crd2.longitude = ;
    [aPlace2 addCoordinates:crd2];
    [places addObject:aPlace2];
    [aPlace2 release];
    aPlace2 = nil;

}


-(void) initializeNavigationalBar {

    CLLocationCoordinate2D centreCarte;
    centreCarte.latitude = ;
    centreCarte.longitude = ;
    MKCoordinateSpan zoom;

    zoom.latitudeDelta = 2;
    zoom.longitudeDelta = zoom.latitudeDelta;

    MKCoordinateRegion region;
    region.center = centreCarte;
    region.span = zoom; 

    [mapView setRegion:region animated:TRUE];
    [mapView addAnnotations:places];
}

1 个答案:

答案 0 :(得分:0)

如果您没有显示“Google徽标”,您的应用将被拒绝。 默认徽标显示在地图的西南位置。

使用此:

- (UIImageView*) googleLogo {

    UIImageView *imgView = nil;
    for (UIView *subview in self.subviews) {
        if ([subview isMemberOfClass:[UIImageView class]]) {
            imgView = (UIImageView*)subview;
            break;
        }
    }
    return imgView;
}

@end

更改Google徽标位置这是片段:

- (void) alignGoogleLogo:(UITextAlignment) alignment {

  UIImageView *logo = [self googleLogo];
  CGRect frame = logo.frame;
  float padding = 9;

  if (alignment == UITextAlignmentLeft) {

    frame.origin.x = padding;

  } else if (alignment == UITextAlignmentCenter) {

    frame.origin.x = (self.size.width / 2) - (frame.size.width / 2);

  } else if (alignment == UITextAlignmentRight) {

    frame.origin.x = self.size.width - frame.size.width - padding;
  }

  [logo setFrame:frame];

}