기본적으로 정확히 같은 모양 인 MKAnnotation을 만들고 싶습니다. 유일한 차이점은 제목 왼쪽에 아이콘이 있다는 것입니다.iOS지도 - 아이콘이있는 MapKit 아이콘 설명
원본과 동일한 모양과 느낌으로이 기능을 만들 수있는 조언이나 코드는 무엇입니까?
감사합니다.
기본적으로 정확히 같은 모양 인 MKAnnotation을 만들고 싶습니다. 유일한 차이점은 제목 왼쪽에 아이콘이 있다는 것입니다.iOS지도 - 아이콘이있는 MapKit 아이콘 설명
원본과 동일한 모양과 느낌으로이 기능을 만들 수있는 조언이나 코드는 무엇입니까?
감사합니다.
도움이 될 수 있습니다. (질문을 잘못 이해 한 경우 "아이콘"과 "제목"이 무엇을 의미하는지 조금 더 설명해 주시겠습니까?)
설명 된 주석보기 이미지의 위치를 기준으로 설명 선 위치를 이동할 수 있습니다. documentation for MKAnnotationView :
calloutOffset 오프셋 (픽셀)되는 위치로 인출 거품.
@property (세분화) CGPoint calloutOffset
토론
이 속성은 선 기포를 이동하는 거리를 추가로 판정한다. 이 속성을 (0, 0)으로 설정하면 설명 풍선의 고정 점이 주석 보기 프레임의 상단 중심점에 배치됩니다. 양수 오프셋 값을 지정하면 콜 아웃 이 버블 다운되고 오른쪽으로 이동하고 음수 값을 지정하면 이 왼쪽으로 이동합니다.
이미지의 위치를 변경할 수도 있으며, 설명서에서도이 이미지를 설명합니다. 그러나 설명 선 위치는 항상 주석 뷰 이미지의 상단 중심점을 기준으로 설정됩니다.
"주석보기"를 여러 속성 및 동작이있는 클래스의 인스턴스로 생각하는 것이 좋습니다. 이미지는 예를 들어지도 핀일 수 있습니다. 콜 아웃은 일반적으로 정보 거품이라고도하지만 공식적으로 콜 아웃 (callout)이라고합니다. 나는 문서가 "annotation view"와 "image"를 서로 바꾸어서 사용하는 것에 조금은 어색하다고 생각한다. 주석보기의 프레임 참조에서.
예. 이렇게 할 수 있습니다. 델리게이트 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation
을 구현해야합니다.
다음은 도움이되는 몇 가지 코드입니다.
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation{
static NSString *[email protected]"ParkingAnnotationIdentifier";
if([annotation isKindOfClass:[MyAnnotationClass class]])
{
//Try to get an unused annotation, similar to uitableviewcells
MKAnnotationView *annotationView=[mapView dequeueReusableAnnotationViewWithIdentifier:parkingAnnotationIdentifier];
//If one isn't available, create a new one
if(!annotationView)
{
annotationView=[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:parkingAnnotationIdentifier];
//Here's where the magic happens
annotationView.image=[UIImage imageNamed:@"someImage.png"];
}
return annotationView;
}
return nil;
}
또한
this 내가 "제목"에 의해, 그 있으리라 믿고있어, 당신은 주석 뷰의 콜 아웃을 참조하고, "아이콘"으로 당신이 주석 뷰의 이미지를 의미