Я строю маршруты на карте Google в Android с полилиниями. Я хочу, чтобы на моей первой полилинии была начальная шапка, показывающая пользователю, где начинается маршрут.
Однако, когда отображаемый маршрут должен отображаться с несколькими полилиниями, а последняя полилиния заканчивается вблизи того места, где начинается первая полилиния, иногда я вижу начальный колпачок, отображаемый за этой последней полилинией.
Это происходит не каждый раз. Я хотел бы убедиться, что начальная крышка всегда отображается над любой и всеми полилиниями. Как я могу убедиться, что колпачок отображается поверх всех полилиний?
Вот метод, который я использую для рисования маршрутов на моей карте:
private fun addRoute(context: Context, map: GoogleMap, mapData: MapData, color: Int) {
mapData.routeSegments.forEachIndexed { index, segment ->
val polylineOptions = PolylineOptions()
segment.points.forEach { point ->
polylineOptions.add(LatLng(point.latitude, point.longitude))
}
val polyline = map.addPolyline(polylineOptions)
polyline.isClickable = false
polyline.color = color
polyline.width = POLYLINE_WIDTH
if (index == 0) {
val bitmap = DrawableUtil.getBitmapFromVectorDrawable(context, R.drawable.star_red_28px)
polyline.startCap = CustomCap(BitmapDescriptorFactory.fromBitmap(bitmap))
}
}
}
Ожидаемый:
Фактический: