GPS is sufficiently accurate to determine which country you're in, and so whether the signage is in mph or kph.
It is sometimes insufficiently accurate to determine whether you're on a 70mph road or the 20mph road than runs parallel to it, which can be mildly irritating when your SatNav routing keeps recalculating as it switches between the two, but is massively dangerous if it's connected to your brakes.
Map-based speed limits are also problematic if, for example, a municipality drops a limit from 30mph to 20mph between updates.
Ultimately, all this shit should be advisory in nature. It should not take control away from the driver, as it is not - and can never be sufficiently reliable.
And yes, I know some will say "Well, people are not sufficiently reliable either!" which is true enough, but people are also required to take responsibility for their actions (or inactions). Abrogating responsibility for control of a vehicle in favour of flaky pseudo-automation is not a good idea.