我有一个Annotiations问题,代码没问题,但我用Variable [i]读取了多个用户名和位置。在地图上我只有最后一个读取用户名和位置Pin。 在Debug Box中,他向我展示了所有名称和位置,但我在地图上只有1个Pin。
这是守则。
for (int i=1; i<4; ++i) {
[User whereKey:@"index" equalTo:@(i)];
PFObject *test1 = [User getFirstObject];
ann.title = [test1 objectForKey:@"username"] ;
PFGeoPoint *geopoint = [test1 objectForKey:@"currentLocation"];
CLLocationCoordinate2D coord = { geopoint.latitude, geopoint.longitude };
ann.coordinate = coord;
[MapView addAnnotation:ann];
}
感谢您的帮助;)
答案 0 :(得分:1)
您要添加到地图的ann
对象需要为您添加的每个注释单独创建 。
在显示的代码中,ann
对象没有在每个注释的for
循环内 中创建,因此最终只有一个注释对象的坐标为最后一项。
在循环中创建ann
对象(alloc + init),然后在其上设置属性。