Swift Google会映射Markers MapView Refresh

时间:2017-03-15 10:30:18

标签: json swift xcode google-maps

我从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函数完成时。

0 个答案:

没有答案