【发布时间】:2015-09-26 00:54:28
【问题描述】:
尝试在谷歌地图上添加标记,但应用在addMarker()函数调用时崩溃,异常详情如下,
由于未捕获的异常“GMSThreadException”而终止应用,原因:“必须从 UI 线程进行对 Google Maps SDK for iOS 的所有调用”
仅供参考 vwGogleMap 是全局的,并且在我试图绘制标记的函数中。
func addMarker() -> Void
{
var vwGogleMap : GMSMapView?
var position = CLLocationCoordinate2DMake(17.411647,78.435637)
var marker = GMSMarker(position: position)
marker.title = "Hello World"
marker.map = vwGogleMap
}
任何帮助将不胜感激,
TIA。
【问题讨论】:
-
通常情况下,这意味着您将代码放在后台线程而不是 UI 线程中。请您提供更多代码吗?所以,我可以看到你把这段代码放在你的文件中的什么地方。
-
在视图控制器的顶层 ViewController: UIViewController { var Gmap : GMSMapView?覆盖 func viewDidLoad() { super.viewDidLoad() self. addMarker() } func addMarker { var position = CLLocationCoordinate2DMake(17.411647, 78.435637) var marker : GMSMarker = GMSMarker(position: position) as GMSMarker marker.title = "Hello World" marker.map = Gmap } }
标签: ios swift google-maps-sdk-ios markers gmsmapview