navigator.geolocation.GetCurrentPosition抛出“最后一个位置提供程序被禁用”错误

时间:2011-03-23 15:50:47

标签: android html5 mobile geolocation android-2.2-froyo

我正在尝试创建一个非常基本的HTML5页面来抓取地理定位,但我收到了错误。

以下是我在'script'标签中的内容:

 function GetGeo() {
        if (!navigator.geolocation) {
            alert("Could not find geolocation");
        }
        else {
            navigator.geolocation.getCurrentPosition(showMap, function (error) { alert("error encountered: " + error.message ); });
        }
    }

    function showMap(position) {
        window.alert(position.coords.latitude + ", " + position.coords.longitude);
    }

页面上只有一个按钮,调用GetGeo()函数。

我做的是将.html文件放到我手机的SD卡上。然后,我浏览了“content://com.android.htmlfileprovider/sdcard/GetGeo.html”,页面显示正确。当我单击按钮并执行时,我收到以下错误:“最后一个位置提供程序已被禁用”

我有几个问题: 1:将SD文件放在SD卡上并尝试在那里运行是不对的? 2:有什么基本的东西我做错了,不让它从移动浏览器中获取地理位置?

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:7)

我想出了这个:我需要进入我的移动浏览器设置并选中“启用位置”

答案 1 :(得分:3)

从Android设置标签中启用所有位置来源也很重要。转到“设置”,单击“位置和安全”。从这里,确保检查以下内容:(1)使用无线网络,(2)使用GPS卫星,(3)使用传感器辅助。

还要确保在清单中启用了以下权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />