2013-02-23 68 views
0

我想获得浏览器的纬度/经度。什么是处理HTML5位置的最佳JQuery插件?

我知道,HTML5具有的特征,但我想要一个完整的插件,它优雅地处理旧的浏览器。

是否有这个可靠的插件?

+1

如何把这个插件处理旧的浏览器?他们根本没有这些功能。 – 2013-02-23 22:33:08

+0

我建议使用基于服务器端IP检测的服务。 – kinakuta 2013-02-23 22:46:28

+0

找到了?不知道是否这是你在找什么: https://github.com/teleject/HTML5-GeoLocation-jQuery-Plugin/blob/master/README – aug 2013-02-23 22:49:04

回答

2

你真的需要的东西这么简单的插件吗?

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服务来获取坐标。

+0

@TIMEX - 是的,它回落到一个基于IP的解决方案,所以它应该在任何地方工作。 – adeneo 2013-02-23 23:05:18

+0

谢谢。 Google GEARS呢?这些帮助有用? – TIMEX 2013-02-23 23:10:03

+0

如果用户安装了GEARS,当然!我倾向于坚持使用HTML5作为第一选择,因为它是最快和最准确的,并且对IP地址的后备支持它不被支持,而且现在IP地理定位不是那么糟糕,而且速度非常快,并且有些准确。不知道GEARS会如何表现,因为我已经有好几年没有使用它了,我认为没有人真的拥有过它。 – adeneo 2013-02-23 23:18:32

相关问题