gpt4 book ai didi

ios - 在 didTapMarker 中进行 API 调用以获取标记标题并在 Google Maps API for iOS 中收到响应后分配它

转载 作者:行者123 更新时间:2023-11-29 02:23:40 24 4
gpt4 key购买 nike

我正在尝试在 didTapMarker 函数中进行 API 调用。通话结束后,我试图设置 marker.title 但它不起作用。该调用是异步调用,我认为这与问题有某种关系。下次我点击标记时,它会显示结果,但不会在第一次点击后显示。

这是代码,

func mapView(mapView: GMSMapView!, didTapMarker marker: GMSMarker!) -> Bool {
if marker.title == nil{
makeApiRequest(["id": marker.userData],
success: {
(response: Dictionary<String, JSONValue>?) in
if let name = response?["name"]?.string{
marker.title = name
}
},
failure: {
(error: NSError) in
})
}
}

请帮忙。我应该怎么做才能让它在第一次点击时工作。

最佳答案

我认为你可以使用 self.mapView(假设 self.mapView 是你的实例变量)

然后在 marker.title = name 正下方执行 self.mapView .selectedMarker = marker

如果你的响应 block 仍然不在主UI线程中,你可以在主UI线程中更新你的mapView

dispatch_async(dispatch_get_main_queue()) {
marker.title = name
self.mapView.selectedMarker = marker
}

关于ios - 在 didTapMarker 中进行 API 调用以获取标记标题并在 Google Maps API for iOS 中收到响应后分配它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27812719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com