2016-08-17 6 views

ответ

1

Это один из способов сделать это.

//Create a new MKMapCamera object 
var newCameraPosition = MGLMapCamera(lookingAtCenterCoordinate: mapView.centerCoordinate, fromDistance: mapView.camera.altitude + 1600, pitch: 50, heading: -30) 

// Then you could call it like this 
mapView.camera = newCameraPosition 

MapBox MGLMapCamera

Но позвольте мне остановиться для установки.

@IBOutlet weak var mapView: MGLMapView! 

let distance: CLLocationDistance = 500 
let pitch: CGFloat = 35 
let heading = 45.0 
var camera = MGLMapCamera() 
let coordinate = CLLocationCoordinate2D(latitude: 49.7484405, 
             longitude: -132.9856644) 

override func viewDidLoad() { 
    super.viewDidLoad() 
    mapView.mapType = .Standard 

    camera = MGLMapCamera(lookingAtCenterCoordinate: coordinate, 
         fromDistance: distance, 
         pitch: 0, 
         heading: 0) 
    self.mapView.camera = camera 
} 
+0

Это идеальное решение, спасибо! – SoftwareStudent123

+0

Просто любопытно. В вашем случае вы могли использовать только экземпляр объекта, который затем может вызвать его? Или вам нужно было создать объект камеры? постскриптум Я работал над несколькими проектами MapBox, поэтому, если у вас есть другие вопросы, я могу ответить на них за вас. – tymac

+0

Мне нужно было создать объект камеры. Если у вас есть свободное время, я был бы очень признателен, если вы взглянете на [эту ссылку] (http://stackoverflow.com/questions/39050098/need-help-recreating-this-mapbox-effect). Я пытаюсь создать эффект, описанный здесь для приложения для фитнеса. Спасибо! – SoftwareStudent123

-1

pitch является частью класса MGLMapCamera.

См

И этот пример сниппет

/** 
Pitch toward the horizon measured in degrees, with 0 degrees resulting in a 
two-dimensional map. 
*/ 

func togglePitch(sender: UISwitch) { 
    let camera = mapView!.camera 
    camera.pitch = sender.on ? 60 : 0 
    mapView!.setCamera(camera, animated: false) 
} 
Смежные вопросы