MapBox(IOS):如何在地图上添加动画gif图像?

时间:2018-02-08 09:34:46

标签: swift mapbox

我需要在地图框地图上显示动画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)

有人可以帮我怎么做。

感谢。

1 个答案:

答案 0 :(得分:2)

适用于iOS的Mapbox Maps SDK目前不支持使用style layers的动画GIF。目前,解决方法是将GIF拆分为多个框架,然后使用-setImage:forName:将图像添加到样式中。然后使用它来创建MGLSymbolStyleLayer并更新计时器上的iconImageName属性。

使用MGLImageSource可能更具效果。不要更新符号样式图层上的iconImageName属性,而是更新图像源上的image属性。我注意到使用MGLImageSource时的CPU使用率低于使用MGLSymbolStyleLayer时的CPU使用率。这两种方法都适用于单个动画gif。我还没有用多个GIF测试过。