Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 三星Galaxy设备可以';t使用geolocation.getCurrentPosition_Android_Jquery_Galaxy_Samsung Mobile - Fatal编程技术网

Android 三星Galaxy设备可以';t使用geolocation.getCurrentPosition

Android 三星Galaxy设备可以';t使用geolocation.getCurrentPosition,android,jquery,galaxy,samsung-mobile,Android,Jquery,Galaxy,Samsung Mobile,好的,我一直在寻找对这个问题的适当回应。我有一个web应用程序,它使用navigator.geolocation.getCurrentPosition获取用户的位置 三星Galaxy设备上的本机浏览器几乎总是存在getCurrentPosition代码问题。我尝试过这段代码的各种变体,包括回调和超时,但问题总是一样的。很多人已经记录了这个问题,一些人表示重启设备会起作用(有时候重启确实起作用,但并不总是如此,而且一个提醒用户重启设备的警报似乎是不可思议的) 有没有人想出了一个可靠的方法来使用ge

好的,我一直在寻找对这个问题的适当回应。我有一个web应用程序,它使用
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状态,然后重新启动手机。这可能会有帮助
  • 如果第2步不起作用,请重置GPS的状态,启用日期时间设置自动获取时区,然后重新启动手机 据我所知,代码没有问题。事实上,我的代码与你的代码几乎相同。这不仅发生在Galaxy设备上,也发生在一些HTC上。我在Galaxy S2、Galaxy Note 2、HTC Nexus One、HTC One X和HTC Inclusible S上遇到了这个问题。我认为这应该是Android设备和代码竞争之间的问题


    干杯,

    我也经历过类似的事情。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,然后打开谷歌地图,然后打开我正在工作的网络视图。它工作得很好。