Updating the maps on a BMW is fairly easy, but can vary from cheap, to quite expensive depending on how and who you have do it!
Older ones require a key to enable new maps to work. That can cost you anywhere from free, but you have to work at it to generate one, to a max of $50 or so, depending on where you get it. Because the map data won't load without the enabling key, there are places where you can download the map data for free.
Probably the simplest way to do this is to take it to the dealership, but they may charge over $300. You can buy a key and a USB drive with the files on it, and then, it's just plug it in, enter the key when asked, and wait, and that's a lot cheaper.
Or, you can buy a key from someone, then they'll give you a link to download the maps, again, for free. You'll need at least one, and maybe as many as three USB drives (depending on how the data is configured) to upload the data into the car.
There are a bunch of threads that describe the process.