为了账号安全,请及时绑定邮箱和手机立即绑定

geoloc.getCurrentPosition有时不起作用

geoloc.getCurrentPosition有时不起作用

胡说叔叔 2019-08-03 07:03:38
geoloc.getCurrentPosition有时不起作用因此,我有一个非常简单的JS使用导航器.geolocation.getCurrentPoitationjammy。$(document).ready(function(){   $("#business-locate, #people-locate").click(function() {     navigator.geolocation.getCurrentPosition(foundLocation, noLocation);   });   navigator.geolocation.getCurrentPosition(foundLocation, noLocation);   function foundLocation(position) {     var lat = position.coords.latitude;     var lon = position.coords.longitude;     var userLocation = lat + ', ' + lon;     $("#business-current-location, #people-current-location").remove();     $("#Near-Me")       .watermark("Current Location")       .after("<input type='hidden' name='business-current-location' id='business-current-location' value='"+userLocation+"' />");     $("#people-Near-Me")       .watermark("Current Location")       .after("<input type='hidden' name='people-current-location' id='people-current-location' value='"+userLocation+"' />");   }   function noLocation() {     $("#Near-Me").watermark("Could not find location");     $("#people-Near-Me").watermark("Could not find location");   }})//end DocReady基本上,我们得到的是当前位置,如果得到了,两个“水印”放置在两个字段中,上面写着“当前位置”,两个隐藏字段是以长数据作为值创建的(它们在开始时被删除,这样它们就不会每次都被复制)。还有两个按钮有一个点击函数绑定到它们来做同样的事情。不幸的是,每隔三次左右,它就起作用了。这里有什么问题?
查看完整描述

3 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞


这是我要解决的问题,至少在当前的所有浏览器中都能工作(在Windows上,我没有Mac):

if (navigator.geolocation) {
    var location_timeout = setTimeout("geolocFail()", 10000);

    navigator.geolocation.getCurrentPosition(function(position) {
        clearTimeout(location_timeout);

        var lat = position.coords.latitude;
        var lng = position.coords.longitude;

        geocodeLatLng(lat, lng);
    }, function(error) {
        clearTimeout(location_timeout);
        geolocFail();
    });} else {
    // Fallback for no geolocation
    geolocFail();}

如果有人在Firefox上单击“关闭”或选择“NO”或“从不共享”选项,这也会有效。

笨重但有效。



查看完整回答
反对 回复 2019-08-05
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

我每次都这样:

navigator.geolocation.getCurrentPosition(getCoor, errorCoor, {maximumAge:60000, timeout:5000, enableHighAccuracy:true});

虽然不是很准确。有趣的是,在同一台设备上,如果我运行这台设备,它会把我推到100米左右(每次),但如果我去谷歌地图,它就能准确地找到我的位置。因此,尽管我认为enableHighAccuracy:true有助于它持续工作,但它似乎并不能使它更加准确.




查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 746 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号