这是我非常基本的代码:
if (navigator.geolocation) {
// WILL GET TO THIS POINT WITH TEST `ALERT()`
navigator.geolocation.getCurrentPosition(
// WILL NOT GET OT THIS POINT IN ANDROID BROWSER
function(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
}, showError, {
enableHighAccuracy: true,
timeout : 5000,
maximumAge: 0
}
);
} else {
return alert('No Geolocation Support.');
}
};
它在 iOS(Safari 和 Chrome)中运行良好;以及我尝试过的所有 PC 浏览器。
在 Android 上,我尝试过现有的 HTC 浏览器、Chrome 和 Dolphin。卫星看起来像是在搜索,然后它停止了。我什至不记得它要求我允许使用地理定位(可能忽略了那部分)
更新:它确实适用于我的 Nexus 10 Chrome 浏览器。但不是我的 HTC One X。
更新 2 - 这似乎只发生在一台 Android 设备上,即 AT&T HTC One X。所有其他 Android 设备、PC 浏览器和 iOS 都可以正常工作。在 One XI 上得到错误代码:超时。此外,GPS 在此设备上也可以正常工作。