Added an Icons API via MapView.icons (the Icons class) for looking up and fetching Mappedin icons, mirroring @mappedin/icons from Mappedin JS. It exposes lookup methods (getByName, getByType, getBySubtype, getByCategory, getByTags, getAll, getSmallIcon), SVG fetching (fetchSvg), prefetching and caching (prefetch, prefetchByType, prefetchBySubtype, prefetchByCategory, isCached, getCachedSvg, clearCache), and CDN region selection via initialize. New strongly-typed models MappedinIcon, IconType, IconSubtype, IconCategory, and IconCdnRegion support the API, which works without a loaded map.
// Fetch all transit icons and retrieve the SVG for one of them
mapView.icons.getByCategory(IconCategory.TRANSPORTATION) { result ->
result.onSuccess { icons ->
val icon = icons.firstOrNull() ?: return@onSuccess
mapView.icons.fetchSvg(icon.name) { svgResult ->
svgResult.onSuccess { svg -> Log.d("Icons", svg) }
}
}
}