Looks like Safari geolocation only works when connected with wifi. When connected with a wired connection Safari calls the error callback from the geolocation functions.
To test this, try this in the web console:
navigator.geolocation.getCurrentPosition(
function(){console.log("success")},
function(){console.log("error")}
);
With Safari/wifi this returns 'success' after a second or two, but on a wired connection it returns 'error' immediately.
( using Safari 5.1 - 8.x / Mac OSX 10.7 - 10.10 )
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…