【发布时间】:2016-12-24 23:36:08
【问题描述】:
我想将来自 Google API 当前位置函数的每个 place.name 添加到我的数组 suggestedLocations。当我打印下面的数组时,它总是空出来的。
我的目标是有一个列出本地地点的数组。我错过了什么?
class AddPersonVC: UIViewController, CLLocationManagerDelegate {
@IBOutlet weak var mapView: MKMapView!
@IBOutlet weak var firstLocationNameBtn: UIButton!
@IBOutlet weak var secondLocationNameBtn: UIButton!
var manager = CLLocationManager()
var updateCount = 0
var zoomLevel = 200
var suggestedLocations = [String]()
override func viewDidLoad() {
super.viewDidLoad()
manager.delegate = self
// Users current location
if CLLocationManager.authorizationStatus() == .authorizedWhenInUse {
mapView.showsUserLocation = true
manager.startUpdatingLocation()
} else {
manager.requestWhenInUseAuthorization()
}
// Find all local places
let placesClient = GMSPlacesClient()
placesClient.currentPlace(callback: { (placeLikelihoodList, error) -> Void in
if let error = error {
print("Pick Place error: \(error.localizedDescription)")
return
}
if let placeLikelihoodList = placeLikelihoodList {
for likelihood in placeLikelihoodList.likelihoods {
let place = likelihood.place
suggestedLocations.append(place.name)
print("Current Place name \(place.name) at likelihood \(likelihood.likelihood)")
//print("Current Place address \(place.formattedAddress)")
//print("Current Place attributions \(place.attributions)")
//print("Current PlaceID \(place.placeID)")
}
}
})
【问题讨论】:
-
您可能在 异步 数据请求完成之前打印数组的内容。
-
显示打印位置。
-
@luk2302 感谢您的建议。我能做些什么来解决这个问题?
print在调试日志中显示列表,但是当我尝试在最后的括号下方但仍在 ViewDidLoad 内打印数组时,数组显示为空白。
标签: arrays swift google-maps google-api