Foxtable(狐表)用户栏目专家坐堂 → 微信 获取用户地理位置和拍照


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

主题:微信 获取用户地理位置和拍照

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/9 15:36:00 [只看该作者]

返回错误,说明你的ak密钥错误,我用这个地址可以

 

http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924&from=1&to=5&ak=hAaa2NLELKdAIfMhMjnuEgi1

 

 


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


加好友 发短信
等级:二尾狐 帖子:522 积分:5027 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/6/9 15:56:00 [只看该作者]

老师,这个错误,代码要怎么改?

Dim 纬度 As Double = e.PostValues("纬度")
Dim 经度 As Double = e.PostValues("经度")

Dim ur1 As String = "http://api.map.baidu.com/geoconv/v1/?ak=VuoyLhIgEFg3ptz4GfhQhPtjyOlTEjHb&from=1&to=5&output=json&coords=" & 纬度 & "," & 经度
Dim hc1 As new HttpClient(ur1)
Dim jo1 = JObject.Parse(hc1.GetData)
output.show(jo1.Tostring)
If jo1("status") = 0 Then
    msgbox(jo1("result")("x"))
    msgbox(jo1("result")("y"))
End If



{
  "status": 0,
  "result": [
    {
      "x": 120.79228431775,
      "y": 30.802926586494
    }
  ]
}





图片点击可在新窗口打开查看此主题相关图片如下:123.jpg
图片点击可在新窗口打开查看


[此贴子已经被作者于2017/6/9 15:57:41编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/9 16:05:00 [只看该作者]

result是一个数组来的。

 

If jo1("status") = 0 Then
    msgbox(jo1("result")(0)("x"))
    msgbox(jo1("result")(0)("y"))
End If


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


加好友 发短信
等级:二尾狐 帖子:522 积分:5027 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/7/25 20:56:00 [只看该作者]

老师,您好!
下面的代码使用一直都是正常的:1.获取坐标 -->2.打卡.
现在想简化作业流程:只要"打卡","坐标"由系统自动获取.
"坐标"自动获取的想法是:在登录此页面时直接获取,或者在按"打卡"时先获取坐标再进行下面的操作,是否可行?



图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看


Dim e As RequestEventArgs = args(0)

Dim wb As New WeUI

wb.AddPageTitle("","ka","打卡")

If e.PostValues.Count = 0 Then
    
    wb.AddTopTips("","toptip1","类型/坐标 不能为空!")         '用于显示动态错误提示
    
    wb.AddForm("","form1","x10121_ka.htm").Attribute=""       '使用js脚本文件,判断是否按要求输入数据
    
    wb.AppendHTML("<script src='http://res.wx.qq.com/open/js/jweixin-1.2.0.js'></script>",True)     '引入JS-SDK库
    
    wb.AppendHTML("<script src='./lib/jssdk1.js'></script>")     '引入脚本文件...微信,获取地理位置(纬度/经度).
    wb.AppendHTML("<script src='./lib/ajaxform.js'></script>")      '引入脚本文件...未按要求输入数据,产生错误提示.
    
    '在页面注入权限验证配置
    Dim st As New Date(1970,1,1,8,0,0)
    Dim appid As String = "wx4718459301f2db8f"    '开发者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 cfg1 As String = "wx.config({appId:'{0}',timestamp:{1},nonceStr:'{2}',signature:'{3}',jsApiList:['scanQRCode']});"
    wb.AppendHTML("<script>" & CExp(cfg1,appid,timestamp,noncestr,signature) & "</script>",True)
    
    '开始正常生成网页内容
    With wb.AddInputGroup("form1","ipg1")
        .AddSelect("类型","类型","|上班|下班|出发|抵达|离开|返厂")
    End With
    
    With wb.AddInputGroup("form1","ipg2")
        .AddInput("纬度","纬度","password").Readonly = True
        .AddInput("经度","经度","password").Readonly = True
    End With
    
    With wb.AddButtonGroup("form1","btg3",False)
        .Add("scan1","坐标","button")
        .Add("btn1", "打卡", "submit").Kind = 2
        .Add("btn2", "返回","","./x10100_jls.htm")
    End With
    
Else
    
    Dim 纬度 As Double = e.PostValues("纬度")
    Dim 经度 As Double = e.PostValues("经度")

......



[此贴子已经被作者于2017/7/25 20:56:51编辑过]

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


加好友 发短信
等级:超级版主 帖子:106028 积分:539233 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/7/25 21:10:00 [只看该作者]

1、打卡按钮先调用原来坐标按钮的js代码,赋值后在提交

2、直接在wx.ready里获取坐标

js代码:
wx.ready(function () {
        wx.getLocation({
            type: 'wgs84',       // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
            success: function (res) {
                document.getElementById('纬度').value = res.latitude;           // 纬度,浮点数,范围为90 ~ -90
document.getElementById('经度').value = res.longitude;      // 经度,浮点数,范围为180 ~ -180。
            }
        });
});

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


加好友 发短信
等级:二尾狐 帖子:522 积分:5027 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/9/7 9:46:00 [只看该作者]

老师,您好。
现在经纬度坐标都有了,需要计算2个坐标点间距离。


x1、y1 是纬度、经度

 

Dim x1 As Double = 37.856862
Dim y1 As Double = 112.525760
Dim x2 As Double = 37.857587
Dim y2 As Double = 112.525683


Dim rad As Double = 6371
Dim p1X As Double = X1 / 180 * Math.PI
Dim p1Y As Double = Y2 / 180 * Math.PI
Dim p2X As Double = X2 / 180 * Math.PI
Dim p2Y As Double = Y2 / 180 * Math.PI

Dim a As Double = p1X - p2X
Dim b As Double = p1Y - p2Y
Dim s As Double = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2),2) + Math.Cos(p1X)*Math.Cos(p2X)*Math.Pow(Math.Sin(b/2),2))) * rad
output.show(s)


有如下请教:
1.代码中使用的经纬度是微信获取的gps坐标,还是转换后的百度坐标bd09ll,或者只要是相同坐标系就可以计算?
2.百度地图开放平台是否有提供相应的<Web服务API>,我没有找到?


[此贴子已经被作者于2017/9/7 9:52:15编辑过]

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


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

1、任何编码都没区别,a、b的值,是两者的差值,坐标一致,结果基本一致。

 

2、Web的API没有,js方式调用 http://developer.baidu.com/map/jsdemo.htm#a6_1

 


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


加好友 发短信
等级:二尾狐 帖子:522 积分:5027 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/9/7 11:04:00 [只看该作者]

老师,您好。
js方式调用我不会用,我用公式计算和百度地图测距计算,两者都是直线距离,结果相差不是很大。
查看<百度地图>导航的常规路线,比对上面算出来的直线距离,有很大差异。
所以直线距离仅仅只能作参考,我先用公式来计算,比较好处理。

老师,我现在想使用百度地图开放平台的<静态图API>:http://lbsyun.baidu.com/index.php?title=static

现在ak、坐标都有,不知如何获取返回的png图片,并显示到手机中。

Select Case e.Path
    Case "test.htm"
        wb.AppendHTML("<script src='http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js'></script>",True)
        wb.AppendHTML("<script src='http://echarts.baidu.com/gallery/vendors/echarts-stat/ecStat.min.js'></script>",True)
        wb.AppendHTML("<script src='http://echarts.baidu.com/gallery/vendors/echarts/echarts-all-3.js'></script>",True)
        wb.AppendHTML("<script src='http://echarts.baidu.com/gallery/vendors/echarts/map/js/china.js'></script>",True)
        
        With wb.AddArticle("","ar1")
            .AddTitle("h1","ECharts测试")
            .AddTitle("h2","1. 条形图")
            .AddContent("<div id=""main1"" style=""width: 600px;height:400px;""></div>")
            .AddTitle("h2","2. 地图")
            .AddContent("<div id=""main2"" style=""width: 600px;height:400px;""></div>")
        End With
        wb.AppendHTML("<script src='./lib/map.js'></script>")
        
        e.WriteString(wb.Build)
    Case "getdata.htm" '获取数据,这里通过文件返回json数据,实际应用可以结合数据库查询和JObject返回json数据
        Dim json As String
        If e.GetValues("type") = "1" Then
            json  = FileSys.ReadAllText("d:\web\lib\data1.txt")
        Else
            json  = FileSys.ReadAllText("d:\web\lib\data2.txt")
        End If
        e.WriteString(json)
End Select


[此贴子已经被作者于2017/9/7 11:04:38编辑过]

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


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

直接放一个img控件显示图片不就好了?

 

 

 

[此贴子已经被作者于2017/9/7 11:29:49编辑过]

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


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


 回到顶部
总数 29 上一页 1 2 3 下一页