14

Google Maps JavaScript API で使用するタイル ソースを既にセットアップしています。これを iPhone MapKit で使用できるように翻訳しようとしています。JavaScript ズーム レベルを mapkit に正しく実装しました。が呼び出されるたび- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animatedに、同じ中心点に基づいて領域を最も近いズーム レベルにスナップします。

タイリング ソリューションを実装するために、CATiledLayer を使用してソリューションを実装することは可能ですか。iPhone は、Google マップがネイティブに使用する標準の 256x256 タイルを使用しますか? これに関する指示や助けをいただければ幸いです。それが不可能な場合、これを実装しようとして数週間を無駄にしたくありません。

4

3 に答える 3

12

FWIW、私はまともな解決策を探すのにかなりの時間を費やしました... CAtiledLayer の例に飛び込む前に、iOS 4 で新しく追加され、MKMapView にプラグインされる MKOverlay と MKOverlayView に気付きました。

任意の画像データ (たとえば、リモート タイル サーバーからの UIImage) をプルする MKOverlays を使用する適切な実装例を見つけることができませんでしたが、機能するまで API をいじくり回しました。

(私のような) 誰かが参照を必要とする場合に備えて、簡単な実装例を作成しました。

http://github.com/mtigas/iOS-MapLayerDemo

これが将来誰かに役立つことを願っています。

于 2010-08-11T09:12:51.803 に答える
5

MapKit は、カスタム タイル ソースの方法をあまり提供しません (実際、ソースをカスタマイズするための機能はまったくありません。Google マップを使用するかどうかに関係なく)。私自身も同様の問題に取り組んできましたが、RouteMe がカスタム マップの非常に優れたソリューションであることがわかりました: http://code.google.com/p/route-me/

OpenStreetMaps、OpenAerialMaps (現在オフライン)、Virtual Earth、および Yahoo Maps の組み込みサポートが存在しますが、このフレームワークにより、独自のタイル ソースを簡単にプラグインすることもできます。

于 2010-03-21T06:29:11.570 に答える