最近开始研究 Google Maps API,发现 W3C 的 Geolocation 标准很不错(地理位置定位技术)。
不过,B/S模式的程序就要考虑用户使用的浏览器了,好的应用必须保证在各种可能的浏览器上都得到尽可能一直的体验。测试的结果就遗憾了,
IE8不支持,IE9 Beta到目前为止也不支持。
而且这个标准在各家浏览器上也存在差异,光是在时间戳记这一个参数上,Chrome回传的是格式化后的非数字型态的时间戳记,而
Firefox回传的是整数值的时间戳记,但Opera回传的时间戳记却有包含小数点。
另外,在使用navigator.geolocation.watchPosition查询目前的位址时,在
Chrome上面,你会发现他判定位移的区隔非常的长,当开启我的测试程序,经常要隔好几个站才会发生资料的更新,反之用Opera来执行程序的话,你会发现它几乎是即时的在更新你所在的经纬度,在地图上的座标点也会随著经纬度的变化而一直不断的刷新。
对于
IE9不支持 Geolocation 标准的情况,已经有很多网友通过各种渠道向微软的 IE Team 反映了,不过看来到目前为止没有什么积极的消息。可能是微软认为这个标准还不是很稳定,因为微软曾表示,
IE9只是支持稳定的网页标准。
同样也有网友测试了所有的主流浏览器,支持 Geolocation 的汇总如下:
Chrome 5
Firefox 3.6
Opera 10.6
Safari 5 (including Safari Mobile on the iPhone)
标签:IE相关IE9标准Geolocation