我正在尝试使用用户的默认地理位置信息 ,除非她指定了其他位置。因此,“正在发生的事情”应该在她的个人资料中传递地理位置信息。 “塔尔萨发生了什么”传递有关塔尔萨的地理位置信息。
我正在使用输入组来执行此操作:
input-group (where) {
requires (OneOf)
collect {
input (location) {
min (Optional) max (One)
type (viv.geo.NamedPoint)
default-select {
with-rule {
select-first
}
}
}
input (myLocation) {
min (Optional) max(One)
type (viv.geo.GeoPoint)
default-init {
if ($user.currentLocation.$exists) {
intent {
goal: geo.GeoPoint
value-set: geo.CurrentLocation { $expr ($user.currentLocation) }
}
}
}
}
}
}
这有效。
但是我想知道是否有更好的方法可以做到这一点?有什么方法可以使用更标准的条件逻辑(例如操作中的if / then或除非声明)?
答案 0 :(得分:3)
您可能想使用default-init
尝试此操作,如果没有提供,则提供默认输入:
input (myLocation) {
min (Required) max(One)
type (viv.geo.GeoPoint)
default-init {
if ($user.currentLocation.$exists) {
intent {
goal: geo.GeoPoint
value-set: geo.CurrentLocation { $expr ($user.currentLocation) }
}
}
}