有没有一种有效的方法来创建很多GMSMarker对象?

时间:2014-11-07 10:38:02

标签: ios objective-c xcode google-maps

我在谷歌地图上使用了叠加图,如下所示:

enter image description here

我右上角有一个UIButton按钮,可以使用UIPickerView过滤标记。

根据选择,我正在创建X个标记并将其放置在地图上的适当位置。

我遇到的问题是必须手动执行此操作:

GMSMarker *marker1 = [ [GMSMarker alloc] init];
GMSMarker *marker2 = [ [GMSMarker alloc] init];
GMSMarker *marker3 = [ [GMSMarker alloc] init];
GMSMarker *marker4 = [ [GMSMarker alloc] init];

....

是否有更快捷,更有效的方法来创建没有重复代码的X号GMSMarker,理想情况下是for循环?

1 个答案:

答案 0 :(得分:2)

添加数组中的所有标记(coordinatesArray)。

NSArray *coordinatesArray = ......;

然后

for(int counter=0; counter<[coordinatesArray count]; counter++)
{
    GMSMarker *marker = [[GMSMarker alloc] init];

    //----Below line is just an example, you'll get lat , lng from the array like the way.
    marker.position=CLLocationCoordinate2DMake([coordinatesArray objectAtIndex:counter]);

    marker.map = mapView_;
}

希望这会对你有所帮助。