我的問題是,在我的本地web服務器上運行下面的函數時,所有通過的地址都通過緯度和經度來解析。當我在主機上發佈時,大多數這些地址返回一個空字符串。 地址參數使格式化:「主街550,倫敦」使用google api獲取給定地址的經度和緯度問題
public string GetLongitudeAndLatitude(string address, string sensor)
{
string urlAddress = "http://maps.googleapis.com/maps/api/geocode/xml?address=" + HttpUtility.UrlEncode(address) + "&sensor=" + sensor;
string returnValue = "";
try
{
XmlDocument objXmlDocument = new XmlDocument();
objXmlDocument.Load(urlAddress);
XmlNodeList objXmlNodeList = objXmlDocument.SelectNodes("/GeocodeResponse/result/geometry/location");
foreach (XmlNode objXmlNode in objXmlNodeList)
{
// GET LONGITUDE
returnValue = objXmlNode.ChildNodes.Item(0).InnerText;
// GET LATITUDE
returnValue += "," + objXmlNode.ChildNodes.Item(1).InnerText;
}
}
catch
{
// Process an error action here if needed
}
return returnValue;
}
這個代碼可以返回的任何數量的原因,一個空字符串。有一個'status'節點作爲響應的一部分。這沒有被檢查。可能沒有任何「位置」節點。文檔'Load'可能會引發異常。在不知道任何這些信息的情況下,不能給出有用的答案。 –
我也試着檢查狀態是不是「好」,沒有結果。我不明白的地方是我可以找到座標的原因。感謝您的快速回答。 –