所以我有以下 2 段代码,第一个使用 GeoCode 并且有效,第二个使用距离矩阵但没有。我究竟做错了什么?我删除了我的 api 密钥和所有地址。提前致谢!
片段A(工作)
class Calculator
{
public static string DoOperation(string address)
{
string requestUri = string.Format("https://maps.googleapis.com/maps/api/geocode/xml?key={1}&address={0}&sensor=false", Uri.EscapeDataString(address), "MY-API-KEY");
WebRequest request = WebRequest.Create(requestUri);
WebResponse response = request.GetResponse();
XDocument xdoc = XDocument.Load(response.GetResponseStream());
XElement result = xdoc.Element("GeocodeResponse").Element("result");
XElement locationElement = result.Element("geometry").Element("location");
XElement lat = locationElement.Element("lat");
XElement lng = locationElement.Element("lng");
string lat12 = ((string)lat);
return lat12;
}
}
class Program {
public static void Main (string[] args) {
Console.WriteLine ("Hello World");
string address1 = "RANDOM ADDRESS";
Console.WriteLine(Calculator.DoOperation(address1));
}
}
片段 B(不工作)
class Calculator
{
public static string DoOperation(string address, string address2)
{
string requestUri = string.Format("https://maps.googleapis.com/maps/api/geocode/xml?key={2}&destinations={0}&origins={1}&units=imperial&sensor=false", Uri.EscapeDataString(address), Uri.EscapeDataString(address2), "MY-API-KEY");
WebRequest request = WebRequest.Create(requestUri);
WebResponse response = request.GetResponse();
XDocument xdoc = XDocument.Load(response.GetResponseStream());
XElement result = xdoc.Element("DistanceMatrixResponse").Element("row").Element("element");
XElement locationElement = result.Element("distance");
XElement lat = locationElement.Element("text");
string lat12 = ((string)lat);
return lat12;
}
}
class Program {
public static void Main (string[] args) {
Console.WriteLine ("Hello World");
string address1 = "RANDOM ADDRESS 1";
string address2 = "RANDOM ADDRESS 2";
Console.WriteLine(Calculator.DoOperation(address1, address2));
}
}
我期待它返回类似的东西
“50 英里”