当前位置 : 主页 > 手机开发 > 其它 >

如何在swift中为ios的谷歌地图sdk添加地图视图的标记

来源:互联网 收集:自由互联 发布时间:2021-06-11
试图在谷歌地图上添加一个标记,但是当addMarker()函数调用时应用程序崩溃了,异常详细信息如下, 由于未捕获的异常’GMSThreadException’而终止应用,原因是:’所有对iOS版Google地图SDK的调用
试图在谷歌地图上添加一个标记,但是当addMarker()函数调用时应用程序崩溃了,异常详细信息如下,

由于未捕获的异常’GMSThreadException’而终止应用,原因是:’所有对iOS版Google地图SDK的调用必须来自UI线程’

仅供参考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更新时(在我的情况下 – 绘制标记),请记住只获取主线程并在主线程上执行UI操作.

错误我所做的是,我正在尝试在Web服务完成块中绘制标记.

dispatch_async(dispatch_get_main_queue(),
{
    var position = CLLocationCoordinate2DMake(17.411647,78.435637)
    var marker = GMSMarker(position: position)
    marker.title = "Hello World"
    marker.map = vwGogleMap
})

// For swift 3.0 support.
// 1. Get Main thread
DispatchQueue.main.async
{
    // 2. Perform UI Operations.
    var position = CLLocationCoordinate2DMake(17.411647,78.435637)
    var marker = GMSMarker(position: position)
    marker.title = "Hello World"
    marker.map = vwGoogleMap
}

希望这对某人有帮助!

网友评论