MKMapView の上にタイル ベースのオーバーレイを描画したいのですが、明確な方法がありません。
(Google マップとは異なり) MKMapView を使用して任意のレベルにズームできるため、これは注意が必要です。
誰かがこれをやろうとしましたか?
MKMapView の上にタイル ベースのオーバーレイを描画したいのですが、明確な方法がありません。
(Google マップとは異なり) MKMapView を使用して任意のレベルにズームできるため、これは注意が必要です。
誰かがこれをやろうとしましたか?
この質問がまだビューを取得している場合、読者は WWDC2010 の HazardMap と TileMap のデモ コードを確認する必要があります。
後で発見したこと:
タイルベースのソリューションではありませんが、それでも興味深いものです。
私は、マップ上にオブジェクトをオーバーレイし、それらをマップでスクロールおよびズームする必要があるゲームに取り組んでいます。
注釈ビューを使用して、最初の問題を解決し、2 番目の問題を部分的に解決することができました。注釈は、マップとともに自動的に移動します。それらをスケーリングするために、mapView:regionDidChangeAnimated:
delegate メソッドを使用して、ズーム イベントの後に注釈のサイズを変更します。問題は、ズーム ジェスチャが完了するまで注釈が再スケーリングされないことです。
Apple にバグを報告して、マップ オーバーレイ用の API を提供するように要求する以外に、次の 2 つの方法が考えられます。
ズームおよびスクロール イベントをインターセプトし、それらを処理して、マップ ビューに渡す MKMapView の上部に (ほとんど非表示の) ビューを配置します。
Open Street Map またはCloudMadeのタイルを使用して、オープンソースのRouteMe ライブラリをカスタマイズします(前者は遅く、後者は費用がかかります)。しかし、それは完全にオープンソースなので、心ゆくまでオーバーレイを行うことができるはずです. サーバー上でタイル オーバーレイを行う独自のタイル サーバーを実行することもできます。