2011-01-21 4 views
6

내 MKMapView에서 MKCircle을 이동하려고하면이 오류 메시지가 나타납니다 : -[MKCircle setCoordinate:] unrecognized selector ... 그러나 설명서에 따르면 MKCircle은 MKAnnotation 프로토콜을 준수하므로 setCoordinate: 메서드가 구현되어야합니다 (Xcode에서 자동으로 제안하고 디버거는 경고를 표시하지 않습니다).MKMapView에서 MKCircle 이동

누구에게 문제가 있는지 알고 있습니까?

고마워요.

답변

9

는 MKCircle이 MKAnnotation을 준수 않아도 불구하고, MKCircle 클래스는 다음 (불행히도) 읽기 전용으로 좌표 속성을 무시합니다

원형 영역의 중심점, 는 위도와 경도로 지정. (읽기 전용)

@property (읽기 전용, 비 원자) 이


가장 간단한 해결책은 removeOverlay:으로 이전 오버레이를 제거하고 새로운 센터와 함께 새로운 하나를 추가하는 것입니다 좌표 CLLocationCoordinate2D 좌표 반지름.

+0

예,이 속성은 MKAnnotation 프로토콜에서도 읽기 전용이지만이를 우회하는 설정자가 있습니다. 내가 제거하고 다른 곳에서 다시 생성 할 수 있다는 것을 알고 있지만지도의 다른 사용자를 표시하는 맞춤 주석 주변에 위치 정확도를 표시하기 위해 원을 사용하고 특수 효과와 함께 원을 움직이게하는 애니메이션을 만들고 싶습니다. (물론 확대 원의 수축). 그러나 오버레이는 문서에 따라 정적 데이터 (지도의 도로 강조 표시 등)를 표시하는 데 사용해야하므로 제거/읽음으로 충분해야합니다. o) 어쨌든 당신의 대답에 감사드립니다. – JakubM

+0

나는이 움직임을 움직이기를 원하기 때문에 "이동"원 오버레이를 제거하고 추가하고 싶습니다. 어떤 해결책을 찾았 니? – user836026

+1

@ user836026 : 예, 맞춤형 오버레이를 만들어야합니다. 자세한 내용은 [이 질문] (http://stackoverflow.com/questions/9056451/draw-a-circle-of-1000m-radius-around-users-location-in-mkmapview)에 대한 내 의견을 참조하십시오. – Anna

관련 문제