以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  位置服务地址的名称  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=127644)

--  作者:xluoping
--  发布时间:2018/11/19 10:28:00
--  位置服务地址的名称
我使用了以下代码,返回了的地址名称,但是不够详细,这是怎么回事?如何返回详细的地址名称呢?

例如:经度|纬度 113.87344|22.635395  返回的是广东省深圳市宝安区,后面街道或路没有了

请帮助!

Dim e As RequestEventArgs = args(0)  \'网页函数开始   报位置的中文名称
Dim stt As String = e.PlainText
Dim nms() As String = stt.Split("|")
Dim jingdu  As Double = CDbl(nms(0))  \'经度
Dim weidu As Double = CDbl(nms(1))   \'纬度
Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://api.map.baidu.com/geocoder/v2/?ak=DD93be593f80a0ad6adc764c39625bd1&output=json&location=" & weidu & "," & jingdu)
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
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
e.WriteString(data.result.formatted_address)

--  作者:有点甜
--  发布时间:2018/11/19 10:32:00
--  

我测试没问题

 

Dim 纬度 As Double = 22.635395
Dim 经度  As Double = 113.87344

Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://api.map.baidu.com/geocoder/v2/?ak=hAaa2NLELKdAIfMhMjnuEgi1&output=json&location=" & 纬度 & "," & 经度)
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

msgbox(data.status)
msgbox(data.result.formatted_address)