问题描述
这是我使用的代码。我已经从以前的代码中保存了数据库中药房的排序列表!在代码中,我想检索该数组,然后在此数组中创建一个前循环(列表除进行排序外,还显示与用户之间的距离比特定距离更近的药房,但这无关紧要),以检索该数组。我保存在其他收藏中的药房的经度和纬度。我使用for循环(最接近药房名称中的for药房),然后在数据库中查询我使用的文档是pharmacy(来自For循环)!一切正常,直到for循环!我什至无法打印任何东西!就是行不通!你能帮我吗?
class Home: UIViewController,CLLocationManagerDelegate {
@IBOutlet var MapView: MKMapView!
@IBAction func SwitchfromMapType(_ sender: Any) {
if (sender as AnyObject).selectedSegmentIndex == 0{
MapView.mapType = MKMapType.standard
}
else if (sender as AnyObject).selectedSegmentIndex == 1{
MapView.mapType = MKMapType.satellite
}}
@IBAction func FindNearestPharmacies(_ sender: Any) {
let docRef1 = db.collection("closestpharmacies").document(user!.uid)
docRef1.getDocument(source: .cache) { (document,error) in
if let document = document {
let closestpharmacyname = document.get("ClosestPharmacies") as! Array<Any>
print("Closest Pharmacies:",closestpharmacyname)
for pharmacy in closestpharmacyname{
print(pharmacy)
let docref2 = db.collection("Pharmacies").document(pharmacy as! String)
print("Pharmacy: ",pharmacy)
docref2.getDocument(source: .cache) { (document,error) in
if let document = document {
let pharmacylatitude = document.get("latitude") as! Double
let pharmacylongitude = document.get("longitude") as! Double
print(pharmacylatitude,pharmacylongitude)
let pharmacyannotation = MKPointAnnotation()
pharmacyannotation.coordinate = CLLocationCoordinate2D(latitude: pharmacylatitude,longitude: pharmacylongitude)
pharmacyannotation.title = pharmacy as! String
self.MapView.addAnnotation(pharmacyannotation)
} else{
print("Document Does not exist")
}
}}}}}
override func viewDidLoad() {
super.viewDidLoad()
let docRef = db.collection("users").document(user!.uid)
docRef.getDocument(source: .cache) { (document,error) in
if let document = document {
let userlat = document.get("latitude") as! Double
let userlong = document.get("longitude") as! Double
let annotation = MKPointAnnotation()
annotation.coordinate = CLLocationCoordinate2D(latitude: userlat,longitude: userlong )
annotation.title = "Your Location"
print(userlat,userlong)
self.MapView.addAnnotation(annotation)
} else {
print("Document does not exist")
}
}}}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)