2014-09-23 38 views
0

我無法在地圖上顯示來自parse.com的加載座標,標題和副標題的圖釘。 這是我的代碼。有沒有邏輯錯誤?我只得到db中的第三行顯示,而不是我在parse.com上的所有五行。僅在我的陣列上顯示地圖上的一個銷號

   for(int i = 0; i<objects.count; i++) 

      { 
       int raknare = 1; 
       raknare++; 

       PFObject *tempObject = [kundUppgifter objectAtIndex:raknare]; 

       PFGeoPoint *geoPoint = [tempObject objectForKey:@"CLAT"]; 
       PFGeoPoint *geoPoint2 = (PFGeoPoint *)geoPoint; 

       NSString *cname = @"CNAME"; 
       NSString *ctown = @"CTOWN"; 

       kundUppgifter = [[NSArray alloc] initWithArray:objects]; 

       objects = [NSArray arrayWithObjects:cname,ctown,geoPoint,nil]; 

       NSMutableArray * locations = [[NSMutableArray alloc]init]; 





        Annotation * myAnn; 
        myAnn = [[Annotation alloc]init]; 
        CLLocationCoordinate2D location; 

        double longitude; 
        double latitude; 

        latitude = geoPoint2.latitude; 
        longitude = geoPoint2.longitude; 

        location.latitude = latitude; 
        location.longitude = longitude; 

        geoPoint.latitude = latitude; 
        geoPoint.longitude = longitude; 


        myAnn.coordinate = location; 
        myAnn.title = [tempObject objectForKey:@"CNAME"]; 
        myAnn.subtitle = [tempObject objectForKey:@"CTOWN"]; 



        [locations addObject:myAnn]; 

        [self.myMapView addAnnotations:locations]; 




        NSLog(@"geopoint is a pfobject with latitude %f, and longitude %f  kundnamn %@,stad %@,", latitude, longitude, cname, ctown); 
        NSLog(@"%@", cname); 
        NSLog(@"%@", objects); 




       } 

     } 

    }]; 

如果你能幫忙,快樂!

+0

請修復你的縮進和懸掛大括號/括號。 – skrrgwasme 2014-09-23 23:00:08

+2

你正在將你的變量初始化到你的for循環中,所以你總是會把raknare設置爲2(即第三個元素),但是你的代碼很混亂 - 你正在訪問一個不同的數組來驅動你的循環,你正在修改循環內的'objects'數組。 – Paulw11 2014-09-23 23:13:26

+0

感謝Paulw11,我剛剛評論了「objects = [NSArray arrayWithObjects:cname,ctown,geoPoint,nil];」和…。它的工作! – Kardemumma09 2014-09-24 13:47:29

回答

1
for(int i = 0; i<objects.count; i++) 
{ 
    int raknare = 1; 
    raknare++; 
    PFObject *tempObject = [kundUppgifter objectAtIndex:raknare]; 
} 

你的循環內部的這段代碼會在循環的每次迭代中使raknare == 2。你想使用你設置的i變量從-objectAtIndex拉:像這樣

for(int i = 0; i<objects.count; i++) 
{ 
    // This gives you a different object each iteration of the loop 
    PFObject *tempObject = [kundUppgifter objectAtIndex:i]; 

} 
+0

非常感謝你們!我非常高興!通過改變事情,就像你告訴我Joel Bell和Paulw11告訴我的那樣:我剛剛評論了「objects = [NSArray arrayWithObjects:cname,ctown,geoPoint,nil];」和…。它的工作!這真棒。 SLawson我會將我下一個程序中的括號更改爲正常。只是發現它更容易看到我的方式。但我認爲最好按照應有的方式行事。祝你今天愉快! – Kardemumma09 2014-09-24 13:42:54

相關問題