MKMapViewを3D表示する

代官山上空200mから渋谷駅を望む

[MKMapCamera cameraLookingAtCenterCoordinate:fromEyeCoordinate:eyeAltitude:]を使うことで、どの地点からどの地点に向かって上空何メートルからの視点で見下ろすかを定義できる。その後、MKMapViewのcameraとshowsBuildingsプロパティを設定することで、ビルを3D表示させることができる。iOSシミュレーターでは立体表示にならないので注意。

  // Shibuya Sta.
  CLLocationCoordinate2D centerCoordinate = CLLocationCoordinate2DMake(35.658517, 139.701334);
  
  // Daikanyama Sta.
  CLLocationCoordinate2D fromEyeCoordinate = CLLocationCoordinate2DMake(35.648104, 139.703168);
  
  // 200 meter
  CLLocationDistance eyeAltitude = 200.0;
  
  MKMapCamera *camera = [MKMapCamera cameraLookingAtCenterCoordinate:centerCoordinate
                                                   fromEyeCoordinate:fromEyeCoordinate
                                                         eyeAltitude:eyeAltitude];
  [self.mapView setCamera:camera];
  [self.mapView setShowsBuildings:YES];

コメントを残す