You are not alone. I am having (almost) the same problem - that is locations services not working - but occasionally they do!
A couple of days ago I put Yosemite on my MacBook Pro (13-inch, Mid 2012) 2.5 GHz 4 GB 500GB HDD - the one with the optical disk drive that is still available (if you do a deep search on Apple Store Web).
I had a problem getting continuity handoff to work, but that pair my Mac and iPhone 5 from the Mac seemed to fix that.
So I then decided to check out Maps. Maps seemed to work except it could find my current location.
So I then checked Google Maps in Safari. Same problem.
I then noticed that Weather in "Today" was also not finding my location.
I then check Find my iPhone (they should rename this to "Find my Devices" on iCloud.com.
Like "brooksed" (is that Ed Brooks?) the device was found but the location was unknown.
I then checked that location services were working on my wife's White MacBook (2008).
Seems that was the case - Google Maps in Safari gets a location,
and "Find my iPhone" for my wife's iCloud account found her Mac
(regardless of which machine I ran it from).
So I rang Apple to find out if this is a known issue (I have AppleCare, so OS X support is covered).
The first person that answered, suggested I deselect and then reselect "Find my Mac" in the iCloud system preferences.
At first I thought that had fixed the issue, because Maps, Google Maps and the "Find my iPhone" all gave the right answer.
But a few minutes later, I was back where I was before with location services not working.
I rang apple again, and various things were tried, during which it was discovered there was a minor disk
error that needed repairing (which worked thank goodness), and a few permissions that needed correcting.
But after some time, there was no joy from Location Services and both the Apple guy and myself thought the
issue might be a conflict with Intego NetBarrier/VirusBarrier. Without completely uninstalling these it is difficult to
determine if this is correct or not. So it was left for me to check with Intego how to uninstall their software
(on a temporary basis) to see if this fixed the problem. This is still to be done.
However, this evening I had a few more attempts to find out what was wrong (without removing the Intego stuff)
and for a brief while it worked again.
My conjecture at the moment is that the location services works by polling the item to be found from time to time to find info on WiFi net
and can locate this geographically if there is an iPhone it is tracking that is on (or sees) the same WiFi net. So if turn on my wife's Macbook
and/or one of our iPhones is using the network, the location of our WiFi net is confirmed.
But if under Yosemite the Location Service software is not confirming the WiFi network details,
and they only get confirmed by my wife's Mac, that would explain why it works sometimes.