你还用ip来实现对浏览器用户的地理位置进行跟踪定位吗?那你就out了!通过这种方式,我们需要有一个数据齐全的ip数据库,而且还需要利用程序去读取这些数据才能实现。此外通过这种方式得到的位置是很不可靠的,因为ip指向的可能是错误的地址,或者只能定位到城市而不是详细的地址,又或者根本无法获取到任何地址,因为在ip数据库中根本就没有某些用户的ip。
现在只要用html5的geolocation api就可以解决以上的所有问题,下面是html的实现代码,把代码复制到文本文档,然后另存为hml文件,在firefox打开该文件(用谷歌的chrome浏览器打开会阻止获取地理位置信息,测试本地的不行,要放到网络上测试才行),然后点击“地理位置定位”按钮,接着firefox浏览器会提示共享方位信息,点击它就会弹出经纬度值。
jQuery(window).ready(function(){
jQuery("#btnInit").click(initiate_geolocation);
});
function initiate_geolocation() {
navigator.geolocation.getCurrentPosition(handle_geolocation_query);
}
//获取用户经纬度的值,从而知道用户地理位置
function handle_geolocation_query(position){
alert('纬度: ' + position.coords.latitude + ' ' +
'经度: ' + position.coords.longitude);
}
地理位置定位
但这种方法目前还是有一个缺陷,就是目前并不是所有浏览器都支持html5 geolocation api,但这是大势所趋,浏览器的支持情况如下:
Firefox: 支持
Chrome: 支持
Safari: 支持
Opera: 支持
Internet Explorer: 6、7、8都不支持,听说9以上会支持