The same thing happened to me.
I found this same question somewhere here, but now I can't seem to find it anymore.
I followed these steps to get Find My Mac to work:
1) Open System Preferences; go to Network.
2) Under the list with Wi-Fi, Ethernet, etc..., click the little gear next to the +-; then click 'Set Service Order'.
3) If it is not, move 'Wi-Fi' to the top of the list.
4) Click 'Advanced'. In 'Preferred Networks', move your primary wireless router to the top of the list.
There were some other things this person suggested, like checking "askot to join new networks", and disabling IPV6, but I did not do that, just the steps listed above.
It worked! Find my Mac actually locates it.
Thanks for the replies.
I tried that with both my iMac and Macbook but both are still not able to be located.
Part of the process is working because if I disable Find My Mac on either device then the icon on the dispaly of the device I'm trying to locate them from disappears and then re-appears but with the caption "No location available"
I don't think it will ever work under ethernet, using current methods.
Unless I miss my guess, determining the location relies heavily on a vast database of wireless networks, compiled from numerous sources. The location is calculated by knowing what wireless network you are connected to, what other networks the computer can also "see", and what their relative signal strengths are. So, a computer that is only connected by ethernet will show up as "connected" but the app won't be able to calculate the location.
Both my home machines are connected by ethernet and wireless, although I have ethernet as the first service, contrary to advice above. Both show as connected and have a location.
If a computer is connected by wireless and still can't be located, then perhaps that is because the wireless network is "closed" (just a guess), or simply not yet part of the map.