使用NSMutableArray进行地图注释

问题描述 投票:3回答:1

我已经用我的XML Praser中的对象填充了一个NSMutablearray。我现在用什么来填充我的Map Annotations。我有这个数组工作我的表,它将对象带入单元格,但我想为我的地图使用相同的NSMutablearray。

//currentBranch is filled with my Objects
Mapdets *currentBranch = [[xmlParser branch]];



[mapview setMapType:MKMapTypeStandard];
[mapview setZoomEnabled:YES];
[mapview setScrollEnabled:YES];

MKCoordinateRegion region = {{0.0, 0.0}, {0.0,0.0 }};
region.center.latitude = -33.86434888;
region.center.longitude = 151.2090236;
region.span.longitudeDelta = 0.10f;
region.span.latitudeDelta = 0.10f;
[mapview setRegion:region animated:YES];




 //Annotation code will go here. Need help with that.

好的,这就是我所处的位置。我有一个数组填充了标题,subtile,Latitude,经度,我想基本上xpolde该数组并使用元素。

谢谢您的帮助。

如果我运行NSLog(@“%@”,currentBranch),我的数组就会被填充;

2013-02-28 07:53:53.537 SAMPLE[13642:207] (
    "<Mapdets: 0x754d3b0>",
    "<Mapdets: 0x754d5c0>",
    "<Mapdets: 0x754d710>"
)

在我的XMLpraser文件中,我这样填写它。

- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
{
    if (isStatues) 
    {
        if ([elementname isEqualToString:@"title"]) 
        {
            currentBranch.title = currentNodeContent;


        }
        if ([elementname isEqualToString:@"street_address"]) 
        {
            currentBranch.subtitle = currentNodeContent;
        }
        if ([elementname isEqualToString:@"lng"]) 
        {
            currentBranch.lng = currentNodeContent;
        }
        if ([elementname isEqualToString:@"lat"]) 
        {
            currentBranch.lat = currentNodeContent;
        }
    }
    if ([elementname isEqualToString:@"branch"]) 
    {
        [self.branch addObject:currentBranch];
        currentBranch = nil;
        currentNodeContent = nil;

这一切都正常,我只是想在我的地图的另一个类中使用这个NSMutablearray。

iphone objective-c sdk
1个回答
1
投票

在Appdelegate中选择Branch(NSMutableArray

在u .h文件中,请参阅AppDelegate参考

AppDelegate *appDelegate;

并在.m文件中在ViewDidLoad方法中写下以下行

appDelegate=(AppDelegate *)[[UIApplication sharedApplication] delegate];

并添加此行[appdelegate.branch addObject:currentBranch];而不是[self.branch addObject:currentBranch];

...现在你可以在你的应用程序的任何地方使用这个appdelegate.branch(数组)。

© www.soinside.com 2019 - 2024. All rights reserved.