Android 三星Galaxy设备可以';t使用geolocation.getCurrentPosition
好的,我一直在寻找对这个问题的适当回应。我有一个web应用程序,它使用Android 三星Galaxy设备可以';t使用geolocation.getCurrentPosition,android,jquery,galaxy,samsung-mobile,Android,Jquery,Galaxy,Samsung Mobile,好的,我一直在寻找对这个问题的适当回应。我有一个web应用程序,它使用navigator.geolocation.getCurrentPosition获取用户的位置 三星Galaxy设备上的本机浏览器几乎总是存在getCurrentPosition代码问题。我尝试过这段代码的各种变体,包括回调和超时,但问题总是一样的。很多人已经记录了这个问题,一些人表示重启设备会起作用(有时候重启确实起作用,但并不总是如此,而且一个提醒用户重启设备的警报似乎是不可思议的) 有没有人想出了一个可靠的方法来使用ge
navigator.geolocation.getCurrentPosition
获取用户的位置
三星Galaxy设备上的本机浏览器几乎总是存在getCurrentPosition代码问题。我尝试过这段代码的各种变体,包括回调和超时,但问题总是一样的。很多人已经记录了这个问题,一些人表示重启设备会起作用(有时候重启确实起作用,但并不总是如此,而且一个提醒用户重启设备的警报似乎是不可思议的)
有没有人想出了一个可靠的方法来使用getCurrentPosition在三星Galaxy设备上工作?这是我的工作内容
<script>
$(document).ready(function(){
if( navigator.geolocation ) {
navigator.geolocation.getCurrentPosition( success, fail );
}
else {
alert("Sorry, your browser does not support geolocation services.");
}
function success(position) {
window.location = "mobile_set_coordinates.php?user_lat=" + position.coords.latitude +
"&user_lon=" + position.coords.longitude + "&accuracy=" + position.coords.accuracy;
}
function fail() {
// Could not obtain location
}
});
</script>
$(文档).ready(函数(){
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(成功,失败);
}
否则{
警报(“对不起,您的浏览器不支持地理定位服务。”);
}
功能成功(职位){
window.location=“mobile\u set\u coordinates.php?user\u lat=“+position.coords.lation+
“&user_lon=“+position.coords.longitude+”&accurity=“+position.coords.accurity;
}
函数失败(){
//无法获取位置
}
});
另外,这里还有一个关于这个问题的讨论的链接:我遇到的问题和你几周前遇到的问题完全一样。我试着在互联网上搜索大约两周,寻找我能找到的所有解决方案。毕竟,我发现:
干杯,我也经历过类似的事情。GPS在其他任何设备上都能正常工作,但在Galaxy设备上会出错 我发现,在这些设备上获取GPS位置可能需要10秒以上的时间。我还必须将
enabledHighAccuracy
设置为false。这是我的密码
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function(position) {
// success!
},
function() {
// failed to get a GPS location before timeout!
}, {
enableHighAccuracy: false,
timeout: 10000,
maximumAge: 10000
});
} else {
// no support for geolocation
}
希望这有帮助 我有三星Galaxy Trend Plus GT-S7580。 我网站上的地理位置无法使用此设备。
早些时候,它与华硕surfpad合作,所有设置都开放,可以访问互联网。当我不仅允许移动数据访问我的位置,而且允许wifi网络和谷歌访问并收集连接到该设置的数据时,它就开始工作了。在本例中,这只是一个设置。我在Galaxy GT-N8013平板电脑上遇到了同样的问题,getCurrentPosition似乎在android上不起作用,但在ios上确实起作用。为了解决这个问题,首先我增加了超时时间。第二,打开谷歌地图应用程序。第三,重启平板电脑。在那之后就行了
$cordovaGeolocation.getCurrentPosition({timeout: 30000, enableHighAccuracy: false})
对我来说,Chrome似乎是个问题——浏览器不允许像HTTP这样的不安全来源。应该通过通过HTTPS()传输数据来解决此问题。在另一个浏览器中尝试时,在我的Galaxy S7 Edge上工作。代码没有问题。galaxy note和note 2上也存在问题。嗨,MaiLong,我目前正在创建一个使用地理定位的应用程序。事实上,如果谷歌地图没有在手机上打开,地理位置就不能使用。有没有办法检测谷歌地图是否已经被使用过?谢谢。通常我只是打开谷歌地图应用程序。如果是第一次,将显示欢迎屏幕。我的建议是,当用户第一次使用谷歌地图时,尝试从应用程序中打开谷歌地图一次。干杯,打开谷歌地图对我有用。在我的情况下,我在中国,谷歌服务被封锁,所以我打开VPN,然后打开谷歌地图,然后打开我正在工作的网络视图。它工作得很好。