我正在开发一个依赖于提取移动用户的地理位置数据的网站。我通过以下方式以典型方式进行操作:
function initialize() {
if(window.google && google.gears) {
var geo = google.gears.factory.create('beta.geolocation');
geo.getCurrentPosition(useLocation, errorOnLocate);
}
else if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(useLocation, errorOnLocate);
}
else {
alert("no geo found");
}
}
function errorOnLocate(message)
{
alert(message);
zoomTo(-34.397, 150.644);
}
即使我切换地理定位方法顺序,这总是会在 errorOnLocate 函数中出现 [object PositionError] 失败。
这是使用任何内置浏览器的带有 android 2.1 的 HTC Hero 上的。我的 gps 已打开,我已指示浏览器允许网站查看我的位置。手机上的谷歌地图本机应用程序上的“位置”功能可以很好地获取我的位置
此外,如果我在个人计算机上使用 FireFox 3.5 访问我的网站,它会正确找到我的位置。(我相信它使用了 ip 和 ap 数据点的组合)。无论哪种方式,它都使用相同的 javascript。
编辑:这是浏览器中的 html/js,而不是本机应用程序。确切的错误消息也是“最后一个位置提供程序被禁用”