我需要在地图框地图上显示动画GIF。
以下是我尝试使用MGLSymbolStyleLayer
的代码,但它无效。
let image = UIImage(named: "myImage.gif")
mapView.style?.setImage(image!, forName: "mygifImage")
let gifSource = MGLShapeSource(identifier: "gif-source", features: pointFeatureArray, options: nil)
myMapView.style?.addSource(gifSource)
let gifLayer = MGLSymbolStyleLayer(identifier: "symbol-layer", source: gifSource)
gifLayer.iconImageName = MGLStyleValue(rawValue: "mygifImage")
myMapView.style?.addLayer(gifLayer)
有人可以帮我怎么做。
感谢。
答案 0 :(得分:2)
适用于iOS的Mapbox Maps SDK目前不支持使用style layers的动画GIF。目前,解决方法是将GIF拆分为多个框架,然后使用-setImage:forName:
将图像添加到样式中。然后使用它来创建MGLSymbolStyleLayer
并更新计时器上的iconImageName
属性。
使用MGLImageSource
可能更具效果。不要更新符号样式图层上的iconImageName
属性,而是更新图像源上的image
属性。我注意到使用MGLImageSource
时的CPU使用率低于使用MGLSymbolStyleLayer
时的CPU使用率。这两种方法都适用于单个动画gif。我还没有用多个GIF测试过。