好的,我在mapkit上有很多针脚。这些针脚显示不同类型的景点。 (例如公园,农场等)
我想为这些不同类型的引脚添加自定义图像。公园有公园形象,反之亦然。
然而,当我加入时,并非所有图像都显示成功。例如,在公园中,它应该有5个引脚,但图像只出现在2个引脚中,而其他3个出现在默认的红色引脚中。
但如果我用颜色来区分它们。
例如,[pinsetPinColor:MKPinAnnotationColorGreen];
有效!谁知道问题是什么?
以下相关代码。告诉我你是否需要更多。谢谢!
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{
if ([annotation isKindOfClass:MKUserLocation.class]) {
//user location view is being requested,
//return nil so it uses the default which is a blue dot...
return nil;
}
//NSLog(@"View for Annotation is called");
MKPinAnnotationView *pin=[[MKPinAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:nil];
pin.userInteractionEnabled=TRUE;
MapEvent* event = (MapEvent*)annotation;
NSLog(@"thetype: %@", event.thetype);
if ([event.thetype isEqualToString:@"adv"]) {
//[pin setPinColor:MKPinAnnotationColorGreen];
pin.image = [UIImage imageNamed:@"padv.png"];
}
else if ([event.thetype isEqualToString:@"muse"]){
//[pin setPinColor:MKPinAnnotationColorPurple];
pin.image = [UIImage imageNamed:@"pmuse.png"];
}
else if ([event.thetype isEqualToString:@"nightlife"]){
pin.image = [UIImage imageNamed:@"pnight.png"];
}
else if ([event.thetype isEqualToString:@"parks"]){
pin.image = [UIImage imageNamed:@"ppark.png"];
}
else if ([event.thetype isEqualToString:@"farms"]){
pin.image = [UIImage imageNamed:@"pfarm.png"];
}
else {
[pin setPinColor:MKPinAnnotationColorRed];
}
pin.canShowCallout = YES;
pin.animatesDrop = YES;
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton addTarget:self action:@selector(clickAnnotation:) forControlEvents:UIControlEventTouchUpInside];
[rightButton setTitle:event.uniqueID forState:UIControlStateNormal];
pin.rightCalloutAccessoryView = rightButton;
return pin;
}
答案 0 :(得分:0)
@funatsg从此链接获取帮助...... http://blog.asolutions.com/2010/09/building-custom-map-annotation-callouts-part-1/
希望这能解决您的问题!
答案 1 :(得分:0)
region.span.longitudeDelta = 0.01f;
region.span.latitudeDelta = 0.01f;
而不是0.2f。它实际上设法正确显示所有图钉图像。我认为这与重叠的图像或其他东西有关。不太确定。 :/
希望这可以帮助任何有同样问题的人!