Ios 在谷歌地图中绘制多个标记
嗨,我正在为ios开发谷歌地图SDK。我想从NSArray在谷歌地图中绘制一些标记,其中包含位置名称、纬度和经度。 我试着用For循环,看起来已经有点跛了,但是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
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];
}