在地圖上新增 PinPoint 註釋
為了在地圖上註釋某些興趣點,我們使用 pin 註釋。現在,首先建立一個註釋物件。
MKPointAnnotation *pointAnnotation = [[MKPointAnnotation alloc] init];
現在為 pointAnnotation 提供座標,如
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(23.054625,72.534562);
pointAnnotation.coordinate = coordinate;
現在,為註釋提供標題和副標題,
pointAnnotation.title = @"XYZ Point";
pointAnnotation.subtitle = @"Ahmedabad Area";
現在,將此註釋新增到地圖中。
[self.mapView addAnnotation:pointAnnotation];
是啊..華友世紀……你已經完成了這項工作。你現在可以在給定座標處看到點註釋(紅色針腳)。
但是現在,如果你想改變別針的顏色怎麼辦(3 種顏色可選 - 紫色,紅色和綠色)。然後按照此步驟操作。
設定 mapview 的委託給自己,
self.mapView.delegate = self;
新增 MKMapViewDelegate 實現。現在新增以下方法,
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
// If it's the user location, just return nil, because it have user location's own annotation, if you want to change that, then use this object;
if ([annotation isKindOfClass:[MKUserLocation class]])
return nil;
if ([annotation isKindOfClass:[MKPointAnnotation class]])
{
//Use dequed pin if available
MKAnnotationView *pinView = [mapView dequeueReusableAnnotationViewWithIdentifier:@"PinAnnotationView"];
if (!pinView)
{
// If not dequed, then create new.
pinView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"PinAnnotationView"];
pinView.canShowCallout = YES;
pinView.image = [UIImage imageNamed:@"abc.png"];
pinView.calloutOffset = CGPointMake(0, 32);
} else {
pinView.annotation = annotation;
}
return pinView;
}
return nil;
}