无法在 Android 4.4 中使用 HTML5 地理定位
Posted
技术标签:
【中文标题】无法在 Android 4.4 中使用 HTML5 地理定位【英文标题】:Can't use HTML5 geolocation with Android 4.4 【发布时间】:2015-07-11 18:50:32 【问题描述】:我正在开发一个应该在 ios 和 android 上运行的网络应用程序,并使用 html5 的地理定位。
我们已经在 Android 4.1 (Samsung Galaxy Tab 2) 和带有 iOS 模拟器和设备的几个 iOs 版本上对其进行了测试,一切都很好,并且通过了 onSuccess
回调,
但是当我们尝试在 Android 4.4.2 的 Wiko Sunset 手机上 上对其进行测试时,成功和失败都没有通过。
当我们访问一些询问我们位置的网站时(例如Mappy),我们遇到了一个弹出错误,说我们的位置它无法获取我们的位置,我们应该检查地理定位服务是否已激活(确实是)。
我们在 4 个浏览器中遇到了这种情况:
歌剧 火狐 铬 原生 Android 浏览器。是否可以在 Android 4.4 中使用 HTML 5 地理定位 API?
这是我们测试 Angular 控制器的代码。
testTTS.controller('mainCtrl', ['$scope', '$ionicPlatform', function($scope, $ionicPlatform)
testTTS.geolocation = false;
var options =
enableHighAccuracy: true
;
onSuccess = function(position)
alert('Latitude: ' + position.coords.latitude + '\n' +
'Longitude: ' + position.coords.longitude + '\n' +
'Altitude: ' + position.coords.altitude + '\n' +
'Accuracy: ' + position.coords.accuracy + '\n' +
'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' +
'Heading: ' + position.coords.heading + '\n' +
'Speed: ' + position.coords.speed + '\n' +
'Timestamp: ' + position.timestamp + '\n');
;
onFail = function(error)
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
;
navigator.geolocation.getCurrentPosition(onSuccess, onFail, options);
]);
【问题讨论】:
我不认为问题出在 SO,是设备,我已经在带有 android 4.4 的 nexus 7 上进行了地理定位 感谢您的反馈。似乎确实如此。 【参考方案1】:试试这个,它在安卓设备上对我有用
function getGpsCordinates(callback)
if ("geolocation" in navigator)
navigator.geolocation.getCurrentPosition(
//Success
function (position)
console.log("GPS: Success");
callback(position);
,
//Error
function (error)
console.log("GPS: Error");
var position =
coords:
longitude: 0,
latitude: 0,
speed: 0
;
callback(position);
,
timeout: 7000, enableHighAccuracy: false);
else
var position =
coords:
longitude: 0,
latitude: 0,
speed: 0
;
console.log("GPS: Not Supported");
callback(position);
console.log("GPS: Continued");
getGpsCordinates(function(mycallback)
alert(mycallback.coords.latitude);
);
【讨论】:
好的,我尽快试试。 那么@BillRousseau 有什么消息吗?以上是关于无法在 Android 4.4 中使用 HTML5 地理定位的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Android 4.4 KitKat 上快速关闭 ChunkedInputStream
Android Studio -Libgdx-无法使用Gradle发行版“https://services.gradle.org/distributions/gradle-4.4-all.zip”执行