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
に設定しないと、パースペクティブを使用せずにマップを傾けるだけでうまくいきます。
パースペクティブでストリートレベルの地図を取得する方法はありますか?