3

我正在尝试使用 HTML5 地理定位 API;但我无法让它在 Firefox Chrome 和 Chromium 上运行:


init();

function init() {;
    // Get the current location
    getPosition();      
}

function getPosition() {
    navigator.geolocation.getCurrentPosition(success, fail,{
        enableHighAccuracy:true,
        timeout:10000,
        maximumAge:Infinity
    });    
}   

function success(position) {
    alert("Your latitude: " + position.coords.latitude + "longitude: "
        + position.coords.longitude);
}

function fail(e) {
    alert("Your position cannot be found"+e.code+" => "+e.message);
}

在 IE9 和 Safari 中完美运行;但 :

  • 在 Firefox(v13 和 V14)中有错误代码 3(超时)
  • 在 Chrome 和 Chromium(v20 和 v21)中存在错误代码 2,并显示消息“‘https://maps.googleapis.com/maps/api/browserlocation/json?browser=googlechrome&sensor=true’的网络位置提供程序:响应是畸形的。”

我有一个全新的 Chrome 安装(今天安装在 Windows XP 上,没有扩展),我已经在浏览器中授权了地理位置。

你可以在那里尝试:http: //jsfiddle.net/mhj82/38/

是否有解决方案使其适用于所有支持地理位置的浏览器?

4

3 回答 3

0

Have you read this ? http://code.google.com/p/chromium/issues/detail?id=41001

At the end of the thread they come to the conclusion that in order to work in Chrome, geolocation must be performed on a device with a working wifi adapter.

Was wifi enabled on your computer ?

(dunno for firefox)

于 2012-08-07T09:37:22.830 回答
0

试试这个在 chrome 桌面和移动设备上测试

if (navigator.geolocation) {
    var latitude = null;
    var longitude = null;
    navigator.geolocation.getCurrentPosition(function (position) {
        latitude = position.coords.latitude;
        longitude = position.coords.longitude;
   });



} else {
    alert("Geolocation API is not supported in your browser");
};
于 2014-03-18T18:37:20.560 回答
0

我必须等到文档加载后才能在 chrome 中工作

jQuery().ready(function() {
   if (navigator.geolocation) { 
        navigator.geolocation.getCurrentPosition....
    }
});
于 2013-02-07T16:40:13.287 回答