我是Swift的新手,但我正在嘗試開發我的第一個應用程序。到目前爲止,我想計算我目前的位置和我周圍最近的購物商場之間的距離。商場的位置和名稱都填入JSON文件中。我創建了一個介於0到50公里之間的UISLider,當用戶選擇例如5公里時,應用程序必須顯示距離用戶位置5公里範圍內的所有商場。我的JSON文件是:如何計算我的當前位置和填充在JSON文件中的位置之間的距離
{
"People": {
"Person0": {
"A1": "New York",
"B1": "ShoppingMall2",
"C1": "43.0757",
"D1": "23.6172"
},
"Person1": {
"A1": "London",
"B1": "ShoppingMall2",
"C1": "44.0757",
"D1": "24.6172"
},
"Person2": {
"A1": "Paris",
"B1": "ShoppingMall3",
"C1": "45.0757",
"D1": "25.6172"
},
"Person3": {
"A1": "Bern",
"B1": "ShoppingMall4",
"C1": "41.0757",
"D1": "21.6172"
},
"Person4": {
"A1": "Sofia",
"B1": "ShoppingMall4",
"C1": "46.0757",
"D1": "26.6172"
}
}
}
和到目前爲止的代碼是:
import UIKit
import MapKit
import CoreLocation
import SwiftyJSON
class FirstViewController: UIViewController, CLLocationManagerDelegate {
@IBOutlet weak var LabelTest: UILabel!
@IBOutlet weak var Slider: UISlider!
@IBOutlet weak var LabelValueSlider: UILabel!
var MySliderCurrentValue = Double()
var manager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func SliderChange(sender: UISlider) {
let MySliderCurrentValue: String = String(Int(sender.value))
LabelValueSlider.text = MySliderCurrentValue
}
@IBAction func LocateMe(sender: AnyObject) {
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest
manager.requestWhenInUseAuthorization()
manager.startUpdatingLocation()
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let userlocation: CLLocation = locations[0] as CLLocation
manager.stopUpdatingLocation()
let location = CLLocationCoordinate2D(latitude: userlocation.coordinate.latitude, longitude: userlocation.coordinate.longitude)
// let span = MKCoordinateSpanMake(0.5, 0.5)
// let region = MKCoordinateRegion(center: location, span: span)
我還創建了一個表視圖控制器和顯示的所有商場將顯示在表格視圖單元。主要問題是我不知道如何從JSON文件中獲取購物中心的名稱和座標,我不知道如何將它們填充到表格視圖單元格中。我想知道,也許我可以使用準備for segue,但我現在肯定。如果有人能幫我解決這些問題,我會很高興。
的可能的複製[如何來用JSON信息的數組文件和計算距離?](http://stackoverflow.com/questions/39043783/how-to-populate-an-array-w ith-information-from-json-file-and-calculation-distance) – Moritz