2010-01-26 6 views
1

타일 기반 오버레이를 MKMapView 위에 그려보고 싶지만이를 수행 할 분명한 방법은 없습니다.MKMapView 타일 기반 오버레이

Google지도와 달리 MKMapView로 모든 수준을 확대 할 수 있으므로 까다로운 것으로 보입니다.

누구든지이 작업을 시도 했습니까?

답변

0

지도에 개체를 오버레이하여지도를 스크롤하고 줌해야하는 게임을하고 있습니다.

주석보기를 사용하여 첫 번째 문제를 해결하고 두 번째 문제를 부분적으로 해결할 수있었습니다. 주석은 자동으로지도와 함께 이동합니다. 확장을 위해 mapView:regionDidChangeAnimated: 대리자 메서드를 사용하여 확대/축소 이벤트 후 주석을 조정합니다. 문제는 확대/축소 제스처가 완료 될 때까지 주석이 다시 조정되지 않는다는 것입니다.

  1. 줌을 가로 채서 MKMapView의 상단을 통해 (주로 눈에 보이지 않는)보기를 넣어 : 나는 애플은 그들이지도 오버레이에 대한 API를 제공 할 것을 요청과 버그를 신고 이외의 두 가지 방법의

    을 생각할 수 이벤트를 스크롤하고 처리 한 다음 맵보기로 전달합니다.

  2. 오픈 소스 RouteMe library을 오픈 스트리트 맵 또는 CloudMade에서 타일로 사용자 정의하십시오 (전자는 느리고 후자는 비용이 듭니다). 하지만 그것은 완전히 오픈 소스이므로 사용자는 자신의 핵심 콘텐츠에 오버레이를 수행 할 수 있어야합니다. 또한 서버에서 타일 오버레이를 수행하는 자체 타일 서버를 실행할 수도 있습니다. 나중에 발견

+0

답변에 감사드립니다! 불행히도 이러한 것들은 창조적 인 해킹이지만 실제 해결책은 아닙니다. 귀하의 도움을 주셔서 감사합니다. –

+0

제한된 지리적 위치를 다루는 경우, route-me는 로컬 타일 저장소를 지원합니다. MapNik을 사용하여 OpenStreetMap 데이터 (자신의 도형 포함)가있는 타일을 생성하고 앱과 함께 제공 할 수 있습니다. 그것은 "진정한 해결책"이지만 프로젝트에 의해 정당화되는 것보다 더 많은 일이 될 것입니다. –

2

이 질문은 여전히 ​​견해를 얻고 있습니다 독자는 WWDC2010의 HazardMap 및 TileMap 데모 코드를 확인해야합니다.