UICollectionView中的Google地图加载和滚动问题

时间:2015-07-07 14:59:39

标签: ios iphone google-maps background uicollectionview

我已经实现了一个水平自由(不分页)滚动的UICollectionView。每个UICollectionViewCell都加载了真正的谷歌地图(附图像)。目前,它在滚动时闪烁,我需要平滑滚动和平滑加载地图。

我尝试了什么,

  1. 我尝试在后台加载谷歌地图,然后更新主UI线程中的单元格,但它崩溃了。
  2. 日志说:(sharedResourceCache_!= nil)为false:未填充共享资源缓存。

    以下是代码:

    dispatch_async(dispatch_get_global_queue(Int(QOS_CLASS_USER_INITIATED.value), 0)) {           
            var getMap = self.getMapViewForCell(cell, indexPath: indexPath)
    
            dispatch_async(dispatch_get_main_queue()) {
                 cell.contentView.addSubview(getMap)
            }
        }
    
    func getMapViewForCell(cell: CardCollectionViewCell, indexPath: NSIndexPath) -> UIView {
    
        let randomIndex = getRandomNumber(0, maxRange: (latArray.count-1))
    
        var camera = GMSCameraPosition.cameraWithLatitude(getLatitude(randomIndex), longitude:getLongitude(randomIndex), zoom:16)
        var mapFrame = cell.mapView.frame
        mapFrame.size.height -= cell.name.frame.size.height
        mapFrame.origin.y = cell.name.frame.origin.y + cell.name.frame.size.height
    
        var mapView = GMSMapView.mapWithFrame(mapFrame, camera:camera)
        mapView.settings.setAllGesturesEnabled(false)
    
        var marker = GMSMarker()
        marker.position = camera.target
        marker.icon = UIImage(named: "homeicon.png")
        marker.map = mapView       
        mapView.tag = 99
    
        return mapView
    }
    

    如果我可以在后台加载谷歌地图,那么它可以解决许多问题,我想。 提前感谢您的任何建议?

    Google map loading on UICollectionViewCell, horizontal scrolling

0 个答案:

没有答案