0

我需要从浏览器获取用户的纬度和经度,但在大多数浏览器上都有一些限制,不允许这样做。如何告诉用户他的地理位置已关闭或根本不支持?

我尝试过这样的事情,但我的 mac 上的 ipad 或 safari 都没有提示任何内容。

if (navigator.geolocation)
    navigator.geolocation.getCurrentPosition(success);
else
    alert('not supported');
4

2 回答 2

2

演示:http: //jsfiddle.net/7sRdS/

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) {  
        // ... 
    }, function(error) {
        //error handling
        switch(error.code) {
            case error.PERMISSION_DENIED:
              //User denied the request for Geolocation.             
              break;
            case error.POSITION_UNAVAILABLE:
              //Location information is unavailable.
              break;
            case error.TIMEOUT:
              //The request to get user location timed out.
              break;
            case error.UNKNOWN_ERROR:
              //An unknown error occurred.
              break;
        }
        alert("Geolocation error: " + error.code);
    },
    {
        timeout:10000 //10s
    });
} else {
    alert("Geolocation services are not supported by your browser.");
} 
于 2013-08-26T08:17:45.227 回答
0

看看提供多种特征检测测试的modernizr 。

于 2013-08-26T12:41:57.783 回答