求大牛解决帮忙:利用navigator.geolocation.getCurrentPosition回调函数获取数据失败

805056790 2015-09-25 10:26:04
一个获取当前位置坐标的demo,但是通过navigator.geolocation.getCurrentPosition的回调函数无法获得数据


// 以下为我的js代码 alert后面的注释是出现的错误
$(function(){
navigator.geolocation.getCurrentPosition(success());
});
function success(p){
alert(p); // 输出为 undefined
// var lng = position.coords.longitude; // 经度
// var lat = position.coords.latitude; // 纬度
// alert(lng+"----"+lat) // 无法输出
}


请问上面的问题是什么原因?
...全文
5684 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_39279962 2017-06-23
  • 打赏
  • 举报
回复
使用IE浏览器就正常了
faye1314 2016-10-24
  • 打赏
  • 举报
回复
谷歌位置服务被墙了啊,导致无法获取位置信息,开个vps试试,就能取到了
顾小林 2016-03-23
  • 打赏
  • 举报
回复
getCurrentPosition() and watchPosition() are deprecated on insecure origins, and support will be removed in the future. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details. 这是chrome浏览器给我反馈的信息
liu870221337 2016-03-21
  • 打赏
  • 举报
回复
http://www.educity.cn/wenda/7540.html 看看吧 应该可以了
赵大仁 2016-03-07
  • 打赏
  • 举报
回复
顶起来 同问
Charlence 2016-02-02
  • 打赏
  • 举报
回复
正好遇上这个问题,还没能解决!
qq_23137303 2016-01-05
  • 打赏
  • 举报
回复
如果用户选择拒绝获取地理位置,那他下回再进这个网页就获取不到地理位置了,这个楼主碰到过吗?
qq_23137303 2016-01-05
  • 打赏
  • 举报
回复
楼主这个问题解决了吗??
Bevin ོ 2015-10-26
  • 打赏
  • 举报
回复
navigator.geolocation.getCurrentPosition( getPositionSuccess , getPositionError,{ timeout : 5000 // 5 秒超时 });这个方法我试过了... 完全不好使, 在firefox中 点击同意同享地理位置 ,然后就没有然后了
KK3K2005 2015-09-30
  • 打赏
  • 举报
回复
navigator.geolocation.getCurrentPosition( getPositionSuccess , getPositionError,{ timeout : 5000 // 5 秒超时 });
805056790 2015-09-29
  • 打赏
  • 举报
回复
引用 4 楼 zyl_lyr1019 的回复:
这个是异步回调函数,你直接就执行来,并且没有传值,那肯定是获取不到东西的啊 这个方法,首先是要征求使用者同意之后,才能执行的,而在电脑上,基本上,是不会执行的。 按你的方法,这样写一下,是不是就能获取到你要的值了?
navigator.geolocation.getCurrentPosition(success(1));
如果这么写,是不是你就能得到p=1了,你觉得这样是对的吗?
直接写 success 就没有任何反应,回调不了success方法。不知道为什么, 你能写一个能用的demo给我吗?找了很多了,复制网上其他代码也不行.....
805056790 2015-09-29
  • 打赏
  • 举报
回复
引用 5 楼 KK3K2005 的回复:
[quote=引用 3 楼 u013081973 的回复:] [quote=引用 2 楼 KK3K2005 的回复:] navigator.geolocation.getCurrentPosition(success);
这些问题都测试过了,用success 就不能进入success方法...............[/quote] 你页面允许访问定位服务了吗? 允许的情况下 才可能调度你的success[/quote] 这个肯定允许了的
KK3K2005 2015-09-27
  • 打赏
  • 举报
回复
引用 3 楼 u013081973 的回复:
[quote=引用 2 楼 KK3K2005 的回复:] navigator.geolocation.getCurrentPosition(success);
这些问题都测试过了,用success 就不能进入success方法...............[/quote] 你页面允许访问定位服务了吗? 允许的情况下 才可能调度你的success
KK3K2005 2015-09-26
  • 打赏
  • 举报
回复
navigator.geolocation.getCurrentPosition(success);
张运领 2015-09-26
  • 打赏
  • 举报
回复
这个是异步回调函数,你直接就执行来,并且没有传值,那肯定是获取不到东西的啊 这个方法,首先是要征求使用者同意之后,才能执行的,而在电脑上,基本上,是不会执行的。 按你的方法,这样写一下,是不是就能获取到你要的值了?
navigator.geolocation.getCurrentPosition(success(1));
如果这么写,是不是你就能得到p=1了,你觉得这样是对的吗?
805056790 2015-09-26
  • 打赏
  • 举报
回复
引用 2 楼 KK3K2005 的回复:
navigator.geolocation.getCurrentPosition(success);
这些问题都测试过了,用success 就不能进入success方法...............
805056790 2015-09-25
  • 打赏
  • 举报
回复
Chrome Firefox 都是这样的错,以开启允许获取地理位置

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧