我使用此功能使用Google地图反转地理编码并加载带有结果的XML:
Private Function ReverseGeocode(ByVal Latitud As Double, ByVal Longitud As Double) As String
Dim webClient As New System.Net.WebClient
Dim sURL As String = "http://maps.googleapis.com/maps/api/geocode/xml?latlng=@lat,@long&sensor=false"
sURL = sURL.Replace("@lat", Latitud)
sURL = sURL.Replace("@long", Longitud)
Dim result As String = webClient.DownloadString(sURL)
Dim xmlDoc As New XmlDocument()
xmlDoc.LoadXml(result)
Dim m_nodelist As XmlNodeList
m_nodelist = xmlDoc.SelectNodes("/GeocodeResponse/result/formatted_address")
ReverseGeocode = m_nodelist(0).InnerText
End Function
我的问题:可以使用异步方法完成吗?
答案 0 :(得分:1)
是。与DownloadString
和async
一起使用await
的异步版本。您可能需要使用Task.Run
从UI线程中移除长时间运行的计算(如果有的话)。