Foxtable(狐表)用户栏目专家坐堂 → 微信中打开网页自动获取用户地址,如何不弹出弹出框


  共有2284人关注过本帖树形打印复制链接

主题:微信中打开网页自动获取用户地址,如何不弹出弹出框

帅哥哟,离线,有人找我吗?
xluoping
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:368 积分:3759 威望:0 精华:0 注册:2016/4/2 12:11:00
微信中打开网页自动获取用户地址,如何不弹出弹出框  发帖心情 Post By:2018/11/20 18:52:00 [只看该作者]

如下JS,微信公众号中打开网页自动获取用户地理位置时,总是会弹出 地理位置授权 的弹出框,如何做到默认不弹出?

 function getLocation(){
               var options={
                   enableHighAccuracy:true, 
                   maximumAge:1000
               }
               if(navigator.geolocation){
                   //浏览器支持geolocation
                   navigator.geolocation.getCurrentPosition(onSuccess,onError,options);
                   
               }else{
                   //浏览器不支持geolocation
               }
           }
           //成功时
           function onSuccess(position){
               //返回用户位置
               //经度
               var longitude =position.coords.longitude;
               //纬度
               var latitude = position.coords.latitude;
              // alert("成功"); 
            //alert(longitude + "|" + latitude);
              var result = sendAjaxText(longitude + "|" + latitude,"baidumap.htm","",false);
              var myDate = new Date();  //获取系统当前时间
              var juli = sendAjaxText(longitude + "|" + latitude + "|" + document.getElementById("单位定位").value,"baiduju.htm","",false);
              var youx = document.getElementById("打卡距离").value
              document.getElementById("打卡信息").innerHTML ="经度:" + longitude + "|纬度:" + latitude + "|" + result;

           }

           //失败时
           function onError(error){
               switch(error.code){
                   case 1:
                   alert("位置服务被拒绝");
                   break;
                   case 2:
                   alert("暂时获取不到位置信息");
                   break;
                   case 3:
                   alert("获取信息超时");
                   break;
                   case 4:
                    alert("未知错误");
                   break;
               }
           }

getLocation()

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/20 19:02:00 [只看该作者]

这个没办法,必须会弹出的。

 

如果在公众号里面,你可以直接用jssdk获取的,如

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=101097&authorid=0&page=0&star=1

 


 回到顶部
帅哥哟,离线,有人找我吗?
xluoping
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:368 积分:3759 威望:0 精华:0 注册:2016/4/2 12:11:00
  发帖心情 Post By:2018/11/21 9:06:00 [只看该作者]

GetJsSignature 和扫描实例中一致,以下是网页代码,不能 alert 经度纬度 ,请问问题出在哪里?

Dim e As RequestEventArgs = args(0)  '网页函数开始输入收款和支出
Dim wb As New weui
wb.AppendHTML("<script src='http://res.wx.qq.com/open/js/jweixin-1.2.0.js'></script>",True) '引入JS-SDK库
wb.AppendHTML("<script src='./js/qqmap.js'></script>") '引入脚本文件
'在页面注入权限验证配置
Dim st As New Date(1970,1,1,8,0,0)
Dim appid As String = "wxac4b451413cd0fa1" '开发者ID
Dim timestamp As Integer = CInt((Date.Now - st).TotalSeconds()) '时间戳
Dim noncestr As String = Rand.NextString(16) '随机字符
Dim url As String  = e.Request.URL.ToString '当前页面地址
Dim signature As String = Functions.Execute("GetJsSignature", noncestr, timestamp, url) '生成权限验证签名
Dim cfg As String = "wx.config({appId:'{0}',timestamp:{1},nonceStr:'{2}',signature:'{3}',jsApiList:['getLocation']});"
wb.AppendHTML("<script>" & CExp(cfg,appid,timestamp,noncestr,signature) & "</script>",True)
'开始正常生成网页内容

e.WriteString(wb.Build) '生成网页


qqmap.js 如下:

wx.getLocation({
type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
success: function (res) {
var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
var speed = res.speed; // 速度,以米/每秒计
var accuracy = res.accuracy; // 位置精度
   alert(latitude + ':' + longitude);
}
});

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/21 9:30:00 [只看该作者]

1、首先,你的网页,必须在微信浏览器打开,才能使用 jssdk;

 

2、下载一个微信的web调试器,看报什么错 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1455784140

 


 回到顶部