我想为浏览器获取lat/long。
我知道HTML5有这个功能,但我想要一个完整的插件,可以优雅地处理旧浏览器。
有可靠的插件吗?
你真的需要一个插件来做这么简单的事情吗?
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
}else{
errorFunction();
}
function successFunction(position) { //uses HTML5 if available
var lat = position.coords.latitude;
var lng = position.coords.longitude;
}
function errorFunction(){ //uses IP if no HTML5
$.getJSON("http://freegeoip.net/json/", function(res){
var lat = res.latitude;
var lng = res.longitude;
});
}
FIDDLE
这将检查HTML5地理定位API是否受支持,如果受支持,它将获取坐标,如果不受支持,或者如果HTML5地理API由于某种原因失败,它将使用免费的geoIP服务来获取坐标。