My understanding is that modern web browsers -- not OSes -- are doing the bulk of the work in determining geolocation.
As I hear it, modern web browsers can and do use multiple methods to determine a device's geolocation. Depending on the device, they will dynamically attempt to use a variety of geolocation strategies/technologies -- with varying degrees of success and accuracy. -- in addition to information such as speed, heading and elevation. What is more, developers are allowed to specify an acceptable degree of accuracy.. So, when GPS is not available [or sufficiently accurate], a modern web browser will dynamically try other methods such as triangulation, crowd-sourcing, etc.
This is not to say that Apple cannot contribute code that make geolocation application development easier and efficient.
By the way, great article [with very helpful visuals on triangulation]!
Keep Up with TechRepublic