MKAnnotationView / Mokriya示例 - 动态将图像加载到地图中

时间:2012-04-28 10:06:59

标签: mkmapview nsurl mkannotation mkannotationview sdwebimage

我有一个问题,我需要知道如何传递一个动态网址,我想从数据库中获取,以显示在地图上。

我使用此代码...来自mokriya和扩展SDWebImage,这里有解释代码......

http://blog.mokriya.com/post/15342072745/dynamic-annotations-mkannotationview-for-ios-mapkit

我遇到的问题是这不是动态的,因为总是使用

定义了IMAGE_URL_STRING

但我需要传递动态生成的URL而不是已定义的URL ...

有人知道如何通过mokriya的代码实现这一点

mokriya的例子总是显示相同的图片......

或如何将URL传递给Funktion

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation

提前致谢

1 个答案:

答案 0 :(得分:1)

这可以帮助您解决问题

NSMutableArray *infoArray;   // Load ImageURLS you fetch from database here

示例:

for (int i = 0; i < 20; i++) 
{
    NSString *imageURLString;
    if (i%2==0) {
        imageURLString = @"http://www.mokriya.com/images/tree_people_150px.png";
    } else {
        imageURLString = @"http://www.mokriya.com/images/mokriyalogo_sm.png";
    }
    NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:imageURLString,@"image_url", nil];
    [infoArray addObject:dict];
    [dict release];
}

和mapview的委托方法

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation

使用此代码

   NSMutableDictionary *dict  = [self.infoArray objectAtIndex:anno.tag];
   NSURL *ImageURL = [NSURL URLWithString:[dict valueForKey:@"image_url"]];
   [pinView setImageWithURL:ImageURL placeholderImage:[UIImage imageNamed:@"loading.png"]];

我们也推动了变革 https://github.com/mokriya/customMKAnnotationView