我的地图中有几个MKAnnotations(及其相应的视图),有时会非常拥挤.现在,我的应用程序中的注释有两种形式:一些注定要保持原样,而另一些则会随着时间的推移而移动.我希望在背景中有视觉上更稳定的,而移动的那些总是在它们前面传递.
也许会想到,最近添加到地图中的注释会最终到达前面(或者至少在最后面),但这似乎不是规则.据我所知,我首先创建并添加所有非移动注释,然后添加一些新实例化的移动注释,但其中许多(尽管不是全部!)最终都是在永久存货的情况下绘制的.
有趣的是,当时间流逝,然而创建新的移动注释时,它们倾向于更多地倾向于顶部而不是第一个 - 即使所有移动的注释对象仅在非移动部分已经添加到地图之后才创建.
有没有人知道改变地图上注释视图的奇怪自然顺序的技巧?我试图搜索Map Kit API,但它似乎没有提到这样的事情.
我遇到的问题是,当我点击引脚时,它会提供与该引脚相关的错误信息.我认为引脚的索引可能与数组的索引不一样.
这是代码:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
MKAnnotationView *pinView = nil;
if(annotation != mapView.userLocation)
{
static NSString *defaultPinID = @"com.invasivecode.pin";
pinView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if ( pinView == nil )
pinView = [[MKAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:defaultPinID];
pinView.canShowCallout = YES;
if ((annotation.coordinate.latitude == mapLatitude) && (annotation.coordinate.longitude == mapLongitude)) {
if ([estadoUser isEqualToString:@"online"])
{
// NSLog(@"ONLINE");
pinView.image = [UIImage imageNamed:@"1352472516_speech_bubble_green.png"]; //as suggested by Squatch
}else{
//NSLog(@"OFFLINE");
pinView.image = [UIImage imageNamed:@"1352472468_speech_bubble_red.png"];
}
}
UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton setTitle:annotation.title …Run Code Online (Sandbox Code Playgroud)