気圧(air pressure)

code external_link

air_pressure-002.png

大気圧と相対高度を計測できる。

コード

import UIKit import CoreMotion // for Air Pressure class ViewController: UIViewController { @IBOutlet weak var airPressureValue: UILabel! @IBOutlet weak var relativeAltitudeValue: UILabel! var airPressureSensor = false @IBOutlet weak var airPressureButton: UIButton! @IBAction func airPressureButtonAction(_ sender: Any) { airPressureControl(!airPressureSensor) } var altimeter: CMAltimeter? // MARK: - Unit let Unit_hPa = " \u{3371}" // hPa override func viewDidLoad() { super.viewDidLoad() airPressureControl(false) } func airPressureControl(_ state: Bool) { if (altimeter == nil) { altimeter = CMAltimeter() } guard let _ = altimeter else { return } if (state) { airPressureButtonState(true) airPressureValue.numberOfLines = 0 altimeter!.startRelativeAltitudeUpdates(to: OperationQueue.main) { (data, error) in self.airPressureValue.text = String(format: "%.1f" + self.Unit_hPa, Float(truncating: data!.pressure) * 10.0) self.relativeAltitudeValue.text = String(format: "rel.alt.= %+.1f m", Float(truncating: data!.relativeAltitude)) } } else { altimeter!.stopRelativeAltitudeUpdates() airPressureButtonState(false) } airPressureSensor = state } func airPressureButtonState(_ state: Bool) { buttonON(airPressureButton, state: state) airPressureValue.text = "" relativeAltitudeValue.text = "" } func buttonON(_ button: UIButton, state: Bool) { if (state) { button.setTitleColor(.systemYellow, for: .normal) button.backgroundColor = .black } else { button.setTitleColor(.systemBlue, for: .normal) button.backgroundColor = .systemGray3 } } }

🌏 Map

same layerlower layer