Foxtable(狐表)用户栏目专家坐堂 → 两个地址间的驾车距离


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

主题:两个地址间的驾车距离

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/15 9:45:00 [只看该作者]

直接查也可以

 

Dim 起点 As String = "天津市西青区西青道三星路1号"
Dim 终点 As String = "青岛市敦化路22号"

Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://api.map.baidu.com/geocoder/v2/?address=" & 起点 & "&output=json&ak=hAaa2NLELKdAIfMhMjnuEgi1")
Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
Dim stm As System.IO.Stream = rsps.GetResponseStream()
Dim reader As New System.IO.StreamReader(stm)
Dim json As String = reader.ReadToEnd
'msgbox(json)
Dim ScriptControl As Object, data  As Object, JscriptCode As String
JscriptCode = "function toObject(json) {eval(""var o=""+json);return o;}"
ScriptControl = CreateObject("MSScriptControl.ScriptControl")
With ScriptControl
    .Language = "Javascript"
    .Timeout = -1
    .AddCode(JscriptCode)
    data = .Run("toObject", json)
End With

Dim lng1 = data.result.location.lng
Dim lat1 = data.result.location.lat

 

 

rqst  = System.Net.HttpWebRequest.Create("http://api.map.baidu.com/geocoder/v2/?address=" & 终点 & "&output=json&ak=hAaa2NLELKdAIfMhMjnuEgi1")
rsps = rqst.GetResponse
stm = rsps.GetResponseStream()
reader = New System.IO.StreamReader(stm)
json = reader.ReadToEnd
'msgbox(json)

JscriptCode = "function toObject(json) {eval(""var o=""+json);return o;}"
ScriptControl = CreateObject("MSScriptControl.ScriptControl")
With ScriptControl
    .Language = "Javascript"
    .Timeout = -1
    .AddCode(JscriptCode)
    data = .Run("toObject", json)
End With

Dim lng2 = data.result.location.lng
Dim lat2 = data.result.location.lat

 

dim address as string = "http://api.map.baidu.com/direction?origin=latlng:" & lat1 & "," & lng1 & "|name:" & 起点 & "&destination=latlng:" & lat2 & "," & lng2 & "|name:" & 终点 & "&mode=driving&region=西安&output=html&src=yourCompanyName|yourAppName"

Dim web As new windows.forms.webbrowser
web.Navigate(address)
Do Until web.ReadyState = 4
     Application.DoEvents
Loop

'output.show(web.document.body.innerhtml)

Dim result As String = web.Document.GetElementById("navDis").InnerText
msgbox(result)


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


加好友 发短信
等级:幼狐 帖子:60 积分:791 威望:0 精华:0 注册:2013/8/27 21:03:00
  发帖心情 Post By:2016/4/15 13:12:00 [只看该作者]

Dim result As String = web.Document.GetElementById("navDis").InnerText
msgbox(result)
执行到以上代码会报错

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160415130815.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/15 14:03:00 [只看该作者]

我测试,没,问,题

 

Dim 起点 As String = "天津市西青区西青道三星路1号"
Dim 终点 As String = "青岛市敦化路22号"

Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://api.map.baidu.com/geocoder/v2/?address=" & 起点 & "&output=json&ak=hAaa2NLELKdAIfMhMjnuEgi1")
Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
Dim stm As System.IO.Stream = rsps.GetResponseStream()
Dim reader As New System.IO.StreamReader(stm)
Dim json As String = reader.ReadToEnd
'msgbox(json)
Dim ScriptControl As Object, data  As Object, JscriptCode As String
JscriptCode = "function toObject(json) {eval(""var o=""+json);return o;}"
ScriptControl = CreateObject("MSScriptControl.ScriptControl")
With ScriptControl
    .Language = "Javascript"
    .Timeout = -1
    .AddCode(JscriptCode)
    data = .Run("toObject", json)
End With

Dim lng1 = data.result.location.lng
Dim lat1 = data.result.location.lat

 

 

rqst  = System.Net.HttpWebRequest.Create("http://api.map.baidu.com/geocoder/v2/?address=" & 终点 & "&output=json&ak=hAaa2NLELKdAIfMhMjnuEgi1")
rsps = rqst.GetResponse
stm = rsps.GetResponseStream()
reader = New System.IO.StreamReader(stm)
json = reader.ReadToEnd
'msgbox(json)

JscriptCode = "function toObject(json) {eval(""var o=""+json);return o;}"
ScriptControl = CreateObject("MSScriptControl.ScriptControl")
With ScriptControl
    .Language = "Javascript"
    .Timeout = -1
    .AddCode(JscriptCode)
    data = .Run("toObject", json)
End With

Dim lng2 = data.result.location.lng
Dim lat2 = data.result.location.lat

 

Dim address As String = "http://api.map.baidu.com/direction?origin=latlng:" & lat1 & "," & lng1 & "|name:" & 起点 & "&destination=latlng:" & lat2 & "," & lng2 & "|name:" & 终点 & "&mode=driving&region=西安&output=html&src=yourCompanyName|yourAppName"

Dim web As new windows.forms.webbrowser
web.Navigate(address)
Do Until web.ReadyState = 4
    Application.DoEvents
Loop

'output.show(web.document.body.innerhtml)
If web.Document.GetElementById("navDis") Is Nothing Then
    msgbox("没查到")
Else
    Dim result As String = web.Document.GetElementById("navDis").InnerText
    msgbox(result)
end if


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


加好友 发短信
等级:幼狐 帖子:60 积分:791 威望:0 精华:0 注册:2013/8/27 21:03:00
  发帖心情 Post By:2016/4/15 14:22:00 [只看该作者]

测试可以了,感谢老师!忘记了如下地方的“yourAppName

终点 & "&mode=driving&region=西安&output=html&src=yourCompanyName|
yourAppName"

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


加好友 发短信
等级:幼狐 帖子:60 积分:791 威望:0 精华:0 注册:2013/8/27 21:03:00
  发帖心情 Post By:2016/4/15 19:54:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:距离计算.table

可以计算,但是经测试感觉有些可以有些不可以。不知哪里可以改进

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


加好友 发短信
等级:幼狐 帖子:60 积分:791 威望:0 精华:0 注册:2013/8/27 21:03:00
  发帖心情 Post By:2016/4/16 10:00:00 [只看该作者]

大红袍 老师,经测试,有些可以有些不可以,是否哪里可以改进。
例子在15楼

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/18 0:27:00 [只看该作者]

以下是引用liu_songsong在2016/4/16 10:00:00的发言:
大红袍 老师,经测试,有些可以有些不可以,是否哪里可以改进。
例子在15楼

 

地址过于简单、或者过于详细,都是不能查询的。

 

比如 松江区有歧义,哪个城市的?

 

比如 809室 不是地址,没必要写。


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


加好友 发短信
等级:一尾狐 帖子:459 积分:3836 威望:0 精华:0 注册:2016/8/21 3:43:00
  发帖心情 Post By:2019/8/25 18:21:00 [只看该作者]

@大红袍 正好用到这个功能,发现现在的查询查不到了,以上代码可否是哪里需要更新一下,谢谢了!

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


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/25 20:16:00 [只看该作者]

别人提供的接口并不是一成不变的,请自行研究开发接口:http://lbsyun.baidu.com/index.php?title=webapi

 回到顶部
总数 19 上一页 1 2