Как добавить стрелки в полилинию в картах сочинения?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как добавить стрелки в полилинию в картах сочинения?

Сообщение Anonymous »

Мне нужно добавлять стрелку каждые 15 шагов полилинии. p>

Код: Выделить всё

if (mapState.lineSteps.isNotEmpty()) {
val polylinePoints = remember { mapState.lineSteps.map { LatLng(it.lat, it.lon) } }
Polyline(
points = polylinePoints
)
}
Я попробовал с этим кодом, который фактически рисует стрелки каждые 15 шагов, но она делает неправильно, потому что карта чрезвычайно медленное, движение камеры очень отстало:

Код: Выделить всё

val arrowBitmapDescriptor: BitmapDescriptor by remember { mutableStateOf(BitmapDescriptorFactory.fromResource(R.drawable.arrow)) }
var numberOfArrows: Int = mapState.busStops.size / 3
if (numberOfArrows > 15) numberOfArrows = 15
val stepsBetweenArrows: Int = mapState.lineSteps.size / numberOfArrows
var stepsToNextArrow = 0

var currentPos: LatLng
var previousPos: LatLng = LatLng(mapState.lineSteps[0].lat, mapState.lineSteps[0].lon)

for (step in mapState.lineSteps) {
currentPos = LatLng(step.lat, step.lon)

if (stepsToNextArrow >= stepsBetweenArrows) {
Polyline(
points = listOf(previousPos, currentPos),
startCap = RoundCap(),
endCap = CustomCap(arrowBitmapDescriptor, 30f),
color = Color(0xff0e71b8),
width = 7f,
jointType = JointType.ROUND,
geodesic = true
)
stepsToNextArrow = 0
} else {
Polyline(
points = listOf(previousPos, currentPos),
color = Color(0xff0e71b8),
width = 7f,
jointType = JointType.ROUND,
geodesic = true
)
}
stepsToNextArrow++

previousPos = currentPos
}
Есть идеи о том, как достичь этого с плавным поведением на карте?

Подробнее здесь: https://stackoverflow.com/questions/794 ... mpose-maps
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»