2012-02-06 3 views
3

MKMapViewに透視変換を適用しようとしています。私のコードは次のようになりますので、私は(View ControllerのviewDidLoadメソッドに挿入)、this Stackoverflow questionの例を以下しています:MKMapViewに透視変換を適用する

MKMapView *map = [[MKMapView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 480.0)]; 
[self.view addSubview:map]; 

CLLocationDistance distance = 2000000.0; 
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(52.5, 13.4); 
[map setRegion:MKCoordinateRegionMakeWithDistance(coordinate, distance, distance)]; 

CATransform3D transform = CATransform3DIdentity; 
transform.m34 = 1.0/-1200.0; 
transform = CATransform3DRotate(transform, M_PI_4, 1.0, 0.0, 0.0); 
map.layer.transform = transform; 

このコード、書かれたように、うまく動作しますが、私は適用視点を持つヨーロッパのマップを取得します。問題は、distance変数を減らしてより詳細なビューを取得したり、この動作状態の初期状態からズームインしたりしても、マップが適切にズームインされず、マップがズームアウトされた状態でスケーリングされるだけです。一方、フィールドをtransformに設定しないと、パースペクティブを使用せずにマップを傾けるだけでうまくいきます。

パースペクティブでストリートレベルの地図を取得する方法はありますか?

答えて

2

私はそうは明らかに視点が適用された地図コンテンツの直接レンダリングに問題があるの視点が

[map.layer setShouldRasterize:YES]; 

を追加することにより、作業得ることができました。

関連する問題