我正在使用这段代码返回一个GoogleMarkerInfoWindow,它工作得很好!
func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? {
let customInfoWindow = Bundle.main.loadNibNamed("customInfoWindown", owner: self, options: nil)?[0] as! CustomInfoWindowns
customInfoWindow.title = "This is title"
return customInfoWindow
}但是当我在调用API之后更新标题时,我不能更新这个标签
func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? {
let customInfoWindow = Bundle.main.loadNibNamed("customInfoWindown", owner: self, options: nil)?[0] as! CustomInfoWindowns
let id = marker.userData as? String
UserManager.sharedInstance.getUserInfo(id, onComplete: {(content, error) in
let userModel = UserModel.convertStringToUserModel(content!)
DispatchQueue.main.async {
customInfoWindow.title = userModel.name // this code didn't work
}
} )
return customInfoWindow
}如何在调用API后更新此标签?
谢谢!
发布于 2017-01-07 19:41:19
因为您正在使用async,所以请尝试重新加载地图视图
self.map.reloadInputViews() https://stackoverflow.com/questions/41520530
复制相似问题