簡體   English   中英

單擊注釋氣泡時,應用程序崩潰

[英]Application Crashes when annotation bubble clicked

我正在從數據庫創建注釋。 但是,當我單擊注釋以顯示氣泡應用程序崩潰時。 但是,當我對坐標進行硬編碼並在地圖上創建地標時,氣泡會成功彈出。 以下是我從數據庫中獲取並加載注釋的代碼。

-(void)mapView:(MKMapView *)imnMapView didAddAnnotationViews:(NSArray *)views; {

    BOOL *regionSet=FALSE;


                while(sqlite3_step(compiledStatement) == SQLITE_ROW)
                {
                    CLLocationCoordinate2D userCoods1;
                    NSString *lat = [NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement, 3)];
                    NSString *longg = [NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement, 4)];
                    float fLat = [lat floatValue];
                    float fLong = [longg floatValue];


    userCoods1.latitude = (CLLocationDegrees)fLat;

    userCoods1.longitude = (CLLocationDegrees)fLong;

                    if(regionSet == FALSE)
                    {
                        MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(userCoods1,400000,500000);
                        [mapView setRegion:region animated:YES];
                        regionSet=TRUE;
                    }

                    NSString *siteName = [NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement, 1)];
                    NSString *siteAddress = [NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement, 2)];


                    ParkPlaceMark *placemark=[[ParkPlaceMark alloc] initWithCoordinate1:userCoods1 title:siteName subtitle:siteAddress atm:@"ATM"];
                    pDescription = @"ATM";

                    [mapView addAnnotation:placemark];
                    [placemark release];

                }

            }               

            sqlite3_finalize(compiledStatement);

        }   

}

當我只是更改userCoords硬編碼並創建三個不同的地標時,氣泡彈出並可以正常工作。 請幫助我擺脫困境。 提前致謝。

為什么不將緯度和經度值另存為十進制或浮點數呢? 轉換它更容易。

您可以使用NSLog記錄lat和longg中的值嗎? 它們是否整齊地轉換和存儲?

NSLog(@"String - Latitude: %@ Longitude: %@", lat, longg);
NSLog(@"Float  - Latitude: %f Longitude: %f", fLat, fLong);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM