我正在开发一个依赖于拉动移动用户的地理位置数据的网站.我通过以下方式做到这一点:
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); }
即使我切换地理位置方法顺序,这始终会在[object PositionError]中输入errorOnLocate函数.
这是一个使用Android 2.1的HTC Hero使用内置的任何浏览器.我的gps已开启,我已指示浏览器允许网站查看我的位置.手机上的谷歌地图本机应用程序中的"位置"功能可以很好地获取我的位置
如果我在我的个人计算机上使用FireFox 3.5访问我的网站,它将更正确地找到我的位置.(我相信它使用了ip和ap数据点的组合).无论哪种方式,它使用相同的JavaScript.
编辑:这是浏览器中的html/js,而不是本机应用程序.此外,确切的错误消息是"最后一个位置提供程序已被禁用"
这是从WebView
Android浏览器应用程序访问还是从Android浏览器访问?如果来自a WebView
,您可能需要通过Java调用启用地理定位.请参阅WebView参考.
否则,我不确定你的JS究竟出了什么问题,但我知道HTML + JS与Android浏览器配合使用:
Loading...