2014-07-14 10 views
0

MKMapView (한 번에 최대 100 개까지 볼 수 있음)에서 지나가는 데이터를 기반으로 크기, 색상 및 불투명도가 다른 많은 맞춤식 및 동적 원을 표시하려고합니다. MKAnnotationView.iOS7에서 동적 MKAnnotationViews를 표시하는 가장 효율적인 방법

현재 사용자 정의 MKAnnotationMKAnnotationView 클래스가 있으며 동적으로 표시하는 데 여러 가지 방법을 모색 해 왔지만 그래픽과 속도면에서 어느 것이 가장 좋은 사용자 경험을 제공하는지 확실하지 않습니다.

:

는 아래 주시면 감사하겠습니다 내가 내려 가서 (및 코드 도움)해야하는지 경로에 대한 조언 (나는 많은 내가 탐구하지 않은 것을 더있다 확신) 나는 현재 탐구 한 방법입니다

1 - 원의 단일 .png 이미지 이미지를 축척하고 이미지 크기를 frame으로 조정하고 필요에 따라 이미지를 tintcolor으로 조정합니다.

2 - 드로잉을 사용하여 매번 원을 동적으로 그립니다.

3 - 내가 필요에 따라 색상 원 이미지 뷰를 만들 layer.cornerradius를 사용

업데이트 - 여기 난 그냥 확실하지 않다합니다 ('layer.cornerradius'옵션을 사용하여) 최상의 가장자리를 만들 것으로 보인다 코드입니다 동시에 수백 개의 서클을 볼 수있게하는 것이 가장 좋습니다.

CGRect myFrame = self.frame; 
myFrame.size.width = 100; 
myFrame.size.height = 100; 
self.frame = myFrame; 
self.layer.cornerRadius = self.frame.size.width/2; 
self.clipsToBounds = YES; 
[self setBackgroundColor:[UIColor colorWithHue:1 saturation:1 brightness:1 alpha:.5]]; 
+0

무엇이 더 효율적인 지 아는 유일한 방법은 앱을 작성하고 실행하고 Instruments를 사용하는 것입니다. 그렇지 않으면 조기에 최적화하지 마십시오. – matt

+0

@matt 아주 진실하고 아주 좋은 충고 ... 누군가가 이미이 길을 이미 마친 적이 있는지 알고 싶었다. –

답변

1

모든 MKannoation의 클러스터링을 사용하여 확대/축소 수준 및 위치에 따라 표시 할 수 있습니다.

정확히 원하는 것은 아니지만 최상의 사용자 경험으로 여러 개의 mkannotation보기를 표시하는 효율적인 방법을 얻을 수 있습니다.

당신이 https://github.com/yinkou/OCMapView

링크

아래에서 클러스터링의 예제 코드를 얻을 수는 당신을 도움이되기를 바랍니다.

감사합니다.

+0

내가 거기를 보았고 특정 확대/축소 수준에서 일부 집계 (또는 클러스터링)를 수행 할 것이지만, 내가 클러스터링을 끝내더라도지도 상에 동시에 나타납니다. 그 링크를 통과 해 주셔서 고마워요. github에서 볼 다른 프로젝트를 클러스터링하려는 사람들은 여기에 있습니다 : https : //github.com/choefele/CCHMapClusterController –