Ios 在谷歌地图中绘制多个标记

Ios 在谷歌地图中绘制多个标记,ios,objective-c,google-maps-sdk-ios,Ios,Objective C,Google Maps Sdk Ios,嗨,我正在为ios开发谷歌地图SDK。我想从NSArray在谷歌地图中绘制一些标记,其中包含位置名称、纬度和经度。 我试着用For循环,看起来已经有点跛了,但是 for(int i=0;i<=[myArray count];i++){ self.view = mapView_; NSString *lat = [[myArray objectAtIndex:i] objectForKey:@"latitude"]; NSString *lon = [[myArra

嗨,我正在为ios开发谷歌地图SDK。我想从NSArray在谷歌地图中绘制一些标记,其中包含位置名称、纬度和经度。 我试着用For循环,看起来已经有点跛了,但是

 for(int i=0;i<=[myArray count];i++){
    self.view = mapView_;
    NSString *lat = [[myArray objectAtIndex:i] objectForKey:@"latitude"];
    NSString *lon = [[myArray objectAtIndex:i] objectForKey:@"longitude"];
    double lt=[lat doubleValue];
    double ln=[lon doubleValue];        
    NSString *name = [[myArray objectAtIndex:i] objectForKey:@"name"];
    NSLog(@"%@ and %@ and %f and %f of %@",lat,lon, lt,ln,name);
    GMSMarker *marker = [[GMSMarker alloc] init];
    marker.animated=YES;
    marker.position = CLLocationCoordinate2DMake(lt,ln);
    marker.title = name;
    marker.snippet = @"Kathmandu";
    marker.map = mapView_;
有什么帮助吗

但同时,我想不出任何方法来使用GMSMarker作为数组

试试这个:

NSMutableArray *markersArray = [[NSMutableArray alloc] init];
for(int i=0;i<[myArray count];i++){

    // ... initialise marker here
    marker.map = mapView_;

    [markersArray addObject:marker];
    [marker release];
}
NSMutableArray*markersArray=[[NSMutableArray alloc]init];

for(int i=0;i但我需要使用Google Maps。我更新了我的答案。这样你就可以将标记对象的所有引用保留在一个数组中。我不完全理解这个问题。这个for循环崩溃,索引超出范围异常?这个命令的输出是什么?
NSLog(@“%@和%@和%f和%f of%@”,lat,lon,lt,ln,name);
它可以打印出数组中的所有文档?还请解释您所说的“您使用了不同的GSMMarker对象”是什么意思我使用NSLog来确保所有元素都有有效的元素,并检查for循环。for循环只执行一次,并且发生NSRangeException,显示索引超出了合理的界限。我将在代码中编辑关于GMSMarker对象的内容。听起来您的数组格式不正确。请执行以下操作:
NSDictionary*d=[myArray objectAtIndex:I]
NSString*lat=
之前,放置一个断点以检查崩溃的确切位置。同时尝试删除标记代码,只让循环运行。如果粘贴生成
myArray
数据的部分,这可能会非常有帮助。感谢您指出它。问题是myArray计数。我应该这样做东北一
NSMutableArray *markersArray = [[NSMutableArray alloc] init];
for(int i=0;i<[myArray count];i++){

    // ... initialise marker here
    marker.map = mapView_;

    [markersArray addObject:marker];
    [marker release];
}