我从Api获得了经度和经度。
MapView加载完美,应用获取用户位置,并根据它,下载地图上的标记位置。
但是你需要等待很长时间才能下载数据,所以MapView会在2秒前加载。我该如何解决这个问题?我应该以某种方式重新加载MapView?
func placeMarkers() {
for i in markers {
let marker = GMSMarker()
marker.position = CLLocationCoordinate2DMake(i.lat, i.lng)
marker.title = i.name
marker.map = mapView
}
}
这是placeMarkers函数,它被称为:
func downloadData() {
guard let markerUrl = URL(string: url) else {
return
}
let request = URLRequest(url: markerUrl)
let task = URLSession.shared.dataTask(with: request, completionHandler: {
(data, response, error) -> Void in
if let error = error {
print(error)
return
}
if let data = data {
self.markers = self.parseJSON(data: data)
OperationQueue.main.addOperation({
self.placeMarkers()
})
}
})
task.resume()
}
当parseJSON函数完成时。