diff options
Diffstat (limited to 'android-app/app/src')
| -rw-r--r-- | android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt b/android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt index a3eebfc..79758f0 100644 --- a/android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt +++ b/android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt @@ -475,8 +475,18 @@ class MainActivity : AppCompatActivity() { private fun setupAnchorMapLayers(style: Style) { - // Add anchor icon - style.addImage(ANCHOR_ICON_ID, BitmapFactory.decodeResource(resources, R.drawable.ic_anchor)) + // Add anchor icon (rasterise vector drawable — BitmapFactory returns null for VDs) + val anchorDrawable = ContextCompat.getDrawable(this, R.drawable.ic_anchor) ?: return + val anchorBitmap = Bitmap.createBitmap( + anchorDrawable.intrinsicWidth.coerceAtLeast(24), + anchorDrawable.intrinsicHeight.coerceAtLeast(24), + Bitmap.Config.ARGB_8888 + ) + Canvas(anchorBitmap).also { canvas -> + anchorDrawable.setBounds(0, 0, canvas.width, canvas.height) + anchorDrawable.draw(canvas) + } + style.addImage(ANCHOR_ICON_ID, anchorBitmap) // Create sources anchorPointSource = GeoJsonSource(ANCHOR_POINT_SOURCE_ID) |
