2015-01-06 48 views
-1

我試圖做一個簡單的腳導航,使用箭頭圖像,旋轉指示方向跟隨不斷刷新。如何在Swift中使用磁頭?

使用magneticHeading我發現錯誤unexpectedly found nil while unwrapping an Optional value,也許我忘了一些東西。

如何正確使用磁頭?

var northLatitude :CLLocationDegrees 
var latitude :CLLocationDegrees = 46.0 
var longitude :CLLocationDegrees = 7.0 


func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) { 

    longitude = manager.location.coordinate.longitude 
    latitude = manager.location.coordinate.latitude 

    var buildingLocation:CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude) 
    var regionOfInterest:MKCoordinateRegion = MKCoordinateRegionMake(buildingLocation, span) 

    self.mapView.setRegion(regionOfInterest, animated: true) 
    self.mapView.addAnnotation(buildingAnnotation) 

    northLatitude = manager.heading.magneticHeading //ERROR 
} 
+0

請問一個正確的問題,並告訴我們你做了什麼工作,你卡在哪裏。這是我們可以幫助你的唯一途徑。 – rakeshbs

+0

現在的問題是:我怎樣才能使圖像視圖(不斷刷新)指向座標? –

回答

0

可以計算在該箭頭應指向,然後使用圖像視圖的變換屬性改變方向的角度。僞代碼將是這樣的。

func onPositionChange() 
{ 
    UIView.animateWithDuration(1.0, animations: 
     { 
      var angle_in_degrees:CGFloat = 10 // Calculated Angle. 
      var angle_in_radians = (angle_in_degrees * 3.1415)/180.0 
      self.imgView.transform = CGAffineTransformMakeRotation(angle_in_radians) 
    }) 
} 
+0

嗨,有了這個功能,我有一個問題。圖像視圖(頂部中心有箭頭的正方形)旋轉的角度不正確。 –

+0

你能給我看一張照片嗎? – rakeshbs

+0

https://www.dropbox.com/s/o8055fin5prhfv6/arrow.png?dl=0 這是90度模擬器 –