我正在将应用程序从 Mapbox Android SDK v9 迁移到 v10,并且在尝试使用 Kotlin
IntArray
更新我们用来过滤图层功能的一些代码时遇到了问题。
这在 Mapbox Android v9 中对我们有用:
Expression.inExpression(Expression.get("id"), Expression.literal(intArray))
但是,将 SDK 更新到 v10 后,我收到错误:“无法使用提供的参数调用以下函数。”看起来
Expression.literal
支持传入 List<Any>
,但该函数被标记为内部。我认为使用 Expression.ExpressionBuilder
可能会起作用,但我有点盲目,找不到任何相关文档。
如何将这行代码迁移到 Mapbox v10?
Expression.inExpression(Expression.get("id"), Expression.literal(intArray))
通过将
Expression.ExpressionBuilder
块传递给 Expression.inExpression
,我能够在 v10 中完成相同的功能:
Expression.inExpression {
get("id")
literal(ids)
}