I also had problems getting the location indicator to show properly. It worked in the simulator (showed a blue dot at Cupertino), but no blue dot for my location when I tested on my upgraded iPhone...
It appears that the mapView:viewForAnnotation: delegate method is now called for the location annotation as well as your manually added annotations, a behaviour slightly different from Beta 1. Because I processed it as one of my annotations, it had a red pin on the map instead of a blue dot, and because I have 69 annotations it got lost in the clutter.
I now use the following code (sort of) to determine whether I want to display a pin annotation (for my annotations) or the blue location dot:
Code:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
static NSString *defaultPinID = @"CameraAnnotation";
MKPinAnnotationView *retval = nil;
if ([annotation isMemberOfClass:[CameraAnnotation class]]) {
retval = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if (retval == nil) {
retval = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];
}
if (retval) {
[retval setPinColor:MKPinAnnotationColorGreen];
retval.animatesDrop = YES;
retval.canShowCallout = NO;
}
}
return retval;
}