使用 kotlin.IntArray 将 Expression.inExpression 从 Mapbox Android v9 迁移到 v10

问题描述 投票:0回答:1

我正在将应用程序从 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))

android kotlin mapbox mapbox-android
1个回答
0
投票

通过将

Expression.ExpressionBuilder
块传递给
Expression.inExpression
,我能够在 v10 中完成相同的功能:

Expression.inExpression {
  get("id")
  literal(ids)
}
© www.soinside.com 2019 - 2024. All rights reserved.