我已经在MapBox中设置了几辆汽车作为不同点的PointAnnotations。
当我放大Map时,汽车图标保持相同的大小,而不是动态地变小,我越缩小。
fun addCar(carId : Long, carPosition: Point, rotation: Double) {
// Set options for the resulting symbol layer.
val pointAnnotationOptions: PointAnnotationOptions = PointAnnotationOptions()
// Define a geographic coordinate.
.withPoint(carPosition)
.withIconRotate(rotation)
.withIconImage(BitmapFactory.decodeResource(context.resources,R.drawable.car_icon))
// Add the resulting pointAnnotation to the map.
val robotPointAnnotation = pointAnnotationManager.create(pointAnnotationOptions)
}
}
在网上搜索时,我发现了使用他们表达语言的线索,大致如下:
iconSize: ['interpolate', ['exponential', 2], ['zoom'], 15, 0.0015, 23, 1],
但是我真的不能把它翻译成Kotlin。我创建了一个新的styleExtension:
getMapboxMap().loadStyle(
styleExtension = style(Style.OUTDOORS) {
+image("CAR") {
bitmap(BitmapFactory.decodeResource(resources, R.drawable.car_icon))
}
}
)
但是我不知道在哪里可以为PointAnnotations添加任何类型的缩放插值。
我真的很想学习更多关于表达式的知识。但是我看不出它们和PointAnnotations之间的联系。有人能给我指个方向吗?
1条答案
按热度按时间xqkwcwgp1#
所以在周末的时候,我想出了一个办法:
我花了一段时间才把所有的东西拼凑起来,但话又说回来...我是一个完全的DSL菜鸟。希望这能帮助那些想做类似事情的人。