2014-10-06 1 views
1

평면도를 표시하기 위해 iOS MapKit에 오버레이를 추가하려고합니다. 그러나, 나는 이것을하는 최선의 방법에 대해 확신 할 수 없다. MKOverlay를 사용하여 평면도를 추가하는 경우 평면도가 느리게로드되거나 맵의 어느 부분이 표시되고 그 이후에 오버레이를 업데이트해야하는지 알 필요가 있습니까? 나 또한 게으른 로딩을 사용하고 있기 때문에 MKTileOverlay를 사용하여 보았지만 기존 맵에 추가하는 것뿐만 아니라 맵을 완전히 덮어야한다는 인상을 받았습니다. 이 올바른지?MapKit 오버레이를 사용하여 평면도를 추가로 매핑

답변

2

예, 맞습니다. MKTileOverlay은 전체지도를 타일로 덮을 수 있으며 예, 지연로드를 사용하고 있습니다.

지도의 기본 모양과 채우기를 바꾸지 않으려면 MKOverlay을 사용하십시오. MKOverlay에 대해서도 느린 로딩을 할 수 있습니다.

참고 :MKTileOverlay이 이미 MKAnnotationsMKOverlay 기존 제거되지 않습니다.

+0

감사합니다. MKOverlay에 대해 느린 로딩이 자동으로 사용됩니까? 아니면 특별한 방법으로 구성해야합니까? 또한, 내 오버레이를 하나의 MKOverlayView에 추가하거나 오버레이 당 MKOverlayView를 분리해야합니까? – Jorn

+0

'MKOverlay'의 경우 느린 로딩을위한 블록이나 백그라운드 스레드를 생성하고 별도로 생성 할 필요는 없습니다. 모든 오버레이는 같은'MKOverlayView'에서 관리됩니다. – Kampai

0

MKOverlay은 클래스가 아닌 프로토콜입니다. iOS 7부터 MKTileOverlay을 원합니다.지도의 현재 부분에 따라 게으른로드가 이루어집니다. 애플의지도를 덮는으로

https://www.mapbox.com/foundations/how-web-maps-work/

이 기본적으로 일어날 것이다, 그러나 당신은 또한 사용 MKOverlayLevel을 조정할 수 있습니다 : 당신은 타일이 번호가 어떻게 구성되어 있는지에 대한 참조로이 유용한를 찾을 수 있습니다

Apple의 기본지도와 레이블 레이어 사이에 배치하거나 Apple지도를 완전히 비활성화하려면 canReplaceMapContent = YES을 사용할 수 있습니다.

관련 문제