gpt4 book ai didi

ios - 附加带有计算的纬度和经度的 Json 数组

转载 作者:行者123 更新时间:2023-11-30 11:27:34 25 4
gpt4 key购买 nike

我收到了餐厅位置的 JSON 数组。我想计算与用户的距离,并且只显示最接近我的用户的位置。我已将数据提取到一个函数中并计算纬度和经度,并将用户的纬度和经度保存在一个名为距离的变量中,但是,我不知道如何:

  • 将纬度/经度与地点信息附加到数组中的每个项目
  • 计算与用户的距离
  • 打印出该半径范围内出现的所有 field 。

这是我的功能:

func loadRestaurantss() {
Helpers.showActivityIndicator(activityIndicator, view)

APIManager.shared.getRestaurantss { (json) in
if json != nil {
self.restaurants = []
self.filterArray = []
//Adds all items into the array list dist then goes through them all.
if let listDis = json["restaurant"].array {
for item in listDis {
let address = item["street_address"].string! + ", " + item["city"].string! + ", " + item["state"].string!

self.getLocation(address, { (dis) in
self.disLocation = dis
self.venueLatt = (self.disLocation?.coordinate.latitude)!
self.venueLonn = (self.disLocation?.coordinate.longitude)!
})

if let snapValue = item.array,
let venueLat = self.venueLatt as? Double,
let venueLong = self.venueLonn as? Double {
}

let restaurant = Restaurant(json: item)
self.restaurants.append(restaurant)
}
print("Dis Test: ", self.restaurants)

self.tbvRestaurants.reloadData()
Helpers.hideActivityIndicator(self.activityIndicator)
}
}
}
}

计算用户和 field 距离的变量:

 let distance = self.calculateDistance(userlat: self.userLatt, userLon: self.userLonn, venueLat: venueLat, venueLon: venueLong)

项目数组的输出:

Item: {
"state" : "Arizona",
"city" : "Phoenix",
"id" : 2,
"restaurant_name" : "Restaruant 2",
"street_address" : "123 Fake Street",
"zip_Code" : 89801,
"phone" : "123-456-1234",
"logo" : "http:\/\/foodonthego-.herokuapp.com\/media\/Restaurant_logo\/Phoenix-location_DWt73h5.jpg"
}

从这里,我将纬度和经度的值分别存储在 VenueLatt/Long 中。我需要将它们添加到数组中。这就是 SnapValue 正在做的事情,但是我意识到数组没有附加并且总是失败。我环顾四周,但找不到解决方案。

最佳答案

要计算距离,您可以使用核心位置 api。

简单的例子:

import CoreLocation

// user location
var userLocation = CLLocation(latitude: 59.244696, longitude: 17.813868)

// venue location
var venueLocation = CLLocation(latitude: 59.326354, longitude: 18.072310)

// measure the distance (in km)
var distance = userLocation.distanceFromLocation(venueLocation) / 1000

关于ios - 附加带有计算的纬度和经度的 Json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50569699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com