如何在mkmapview上获取多个位置定位点。
在我当前的位置我看到我的朋友在我这里注册。
我有位置纬度和经度值。
以下是用于理解的虚拟值。
{
friendA:
{
latitude: "12.1234";
longtitude: "12.1234";
},
friendB:
{
latitude: "12.1234";
longtitude: "12.1234";
},
friendD:
{
latitude: "12.1234";
longtitude: "12.1234";
}
}
想要在mapView上显示我所有朋友的位置 使用PinPointer放置 Marker.png
//创建了mapview。
mapView = [[MKMapView alloc] init];
mapView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-60);
mapView.delegate = self;
mapView.mapType = MKMapTypeStandard;
mapView.showsUserLocation = YES;
[self.view addSubview:mapView];
MKAnnotation MarkerPin指针
- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation
{
static NSString *AnnotationViewID = @"annotationView";
MKAnnotationView *annotationView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];
if (annotationView == nil){
annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID];
}
annotationView.image = [UIImage imageNamed:@"Marker.png"];
annotationView.annotation = annotation;
return annotationView;
}
答案 0 :(得分:0)
你需要循环你的朋友(你把它们存储在一个数组或其他东西吗?)然后为每个项目调用addAnnotation
。
类似的东西:
for (Friend *friend in friends){
CLLocationCoordinate2D coordinate;
coordinate.latitude = latitude.doubleValue;
coordinate.longitude = longitude.doubleValue;
MKPointAnnotation *myAnnotation = [[MKPointAnnotation alloc] init];
myAnnotation.coordinate = coordinate;
[mapView addAnnotation:annotation];
}
然后,自动调用已实现的方法mapView:viewForAnnotation:
并添加注释。有关详细信息,请查看本教程:http://www.devfright.com/mkpointannotation-tutorial/