Ios 显示信息标记窗口后更新图像
我是ios新手,我不知道如何在http post请求完成后更新google地图自定义标记信息窗口图像 我当前的自定义标记信息窗口xib如下所示 在我的委托方法中 mapView(mapView:GMSMapView,markerInfoWindow marker:GMSMarker)我发出了一个Alamofire.request,它可以为我获取图像。我希望用户能够立即看到信息窗口,而无需等待图像完成。请求如下Ios 显示信息标记窗口后更新图像,ios,swift,google-maps,Ios,Swift,Google Maps,我是ios新手,我不知道如何在http post请求完成后更新google地图自定义标记信息窗口图像 我当前的自定义标记信息窗口xib如下所示 在我的委托方法中 mapView(mapView:GMSMapView,markerInfoWindow marker:GMSMarker)我发出了一个Alamofire.request,它可以为我获取图像。我希望用户能够立即看到信息窗口,而无需等待图像完成。请求如下 Alamofire.request(.POST, appDelegate.host
Alamofire.request(.POST, appDelegate.host + "/get-img", parameters: params as? [String : AnyObject], encoding: .JSON , headers: headers)
.response{ (request, response, data, error) in
if let img = data {
infoWindow.img.image = UIImage(data: img)
}
}
但是,“信息”窗口中的图像根本不会更新。我知道GoogleMapsAPI声明在委托方法中返回视图后视图可能不会更新,但是否有其他解决方法
我还考虑过在地图视图加载之前请求与地图上所有标记相关的所有图像,但这可能太昂贵了 我通过设置以下选项解决了类似的问题:
marker.tracksInfoWindowChanges = true
在mapView markerInfoWindow方法中(在请求图像之前),然后在加载图像之后(即在“响应”处理程序中),我在infoWindow中设置图像,然后设置回标志,这样它就不会消耗资源():
marker.tracksInfoWindowChanges = false