我正在为类似Uber的应用程序工作,汽车应该在地图上实时旋转。我从API获得的旋转值是0到360之间的度数。因此,我从0F..1F计算出一个浮点值,然后尝试使用如下表达式来旋转符号图标:
val feature = Feature.fromGeometry(
Point.fromLngLat(courier.longitude ?: 0.0, courier.latitude ?: 0.0)
)
val rotation = computeOrientationInFloat(courier.orientation)
feature.addStringProperty(COURIER_ICON_PROPERTY,COURIER_ICON_ID)
feature.addStringProperty(COURIER_ID_PROPERTY,COURIER_ID)
feature.addNumberProperty(COURIER_ICON_ROTATION_PROPERTY, rotation)
因此,我基本上将符号旋转作为NumberProperty添加到功能中。然后,在我的图层属性构建器上:
val unclusteredLayer = SymbolLayer(UNCLUSTERED_COURIER_LAYER_ID, COURIER_SOURCE_ID)
.withProperties(
PropertyFactory.iconImage(Expression.get(COURIER_ICON_PROPERTY)),
PropertyFactory.iconSize(0.24F),
PropertyFactory.iconRotate(Expression.toNumber
(Expression.get(COURIER_ICON_ROTATION_PROPERTY))
),
PropertyFactory.iconRotationAlignment(Property.ICON_ROTATION_ALIGNMENT_MAP),
PropertyFactory.iconAllowOverlap(true)
)
我使用表达式设置了iconRotate属性。没用我也尝试过
PropertyFactory.iconRotate(Expression.get(COURIER_ICON_ROTATION_PROPERTY)),
或将stringProperty设置为功能,而不是numberProperty,但是它也不起作用。其他表达式,例如.getStringProperty(COURIER_ID),也可以工作。
任何想法?
No Results Found您请求的页面无法找到。尝试优化搜索范围,或使用上方的导航找到帖子。