Я создал программу, которая принимает долготу и широту из нескольких свойств на лондонском портале свойств.Исключение для нулевой ссылки Google Geocode
То, что я должен сделать дальше, отправить эти длинные + латы в геокодирование и вернуть полный отформатированный адрес. Нижеприведенный код работает для большинства URL-адресов, которые у меня есть в моем списке geocodeURL, но иногда он возвращает исключение нулевой ссылки.
Когда я проверяю URL-адрес, который вышел из строя, и возвратил исключение вручную в браузере, он работает нормально.
Если это так, то что я делаю неправильно?
for (int i = 0; i < longitude.Count; i++)
{
Console.WriteLine(longitude[i]);
Console.WriteLine(latitude[i]);
//Console.WriteLine("http://maps.google.com/maps/api/geocode/xml?latlng=" + latitude[i] + "," + longitude[i] + "&sensor=false");
geocodeURL.Add("https://maps.googleapis.com/maps/api/geocode/xml?latlng=" + latitude[i] + "," + longitude[i] + "&key=0000");
}
foreach (string i in geocodeURL)
{
try
{
var requestUri = string.Format(i);
var request = WebRequest.Create(requestUri);
var response = request.GetResponse();
var xdoc = XDocument.Load(response.GetResponseStream());
var result = xdoc.Element("GeocodeResponse").Element("result");
var fullAddy = result.Element("formatted_address").Value;
address.Add(fullAddy);
Console.WriteLine(fullAddy);
}
catch (Exception e)
{
Console.WriteLine(i);
Console.WriteLine(e);
}
}
Ответ Xml выглядит следующим образом:
<GeocodeResponse>
<status>OK</status>
<result>
<type>street_address</type>
<formatted_address>4 Sydenham Ave, London SE26 6UH, UK</formatted_address>
Один такой пример исключения, и вы можете увидеть URL, кажется, хорошо, но он бросает исключение независимо ... (I закрасил ключ FYI)
Знаете ли вы, по каким критериям он выдает исключение? Каково значение 'i',' latitude [i] 'и' longitude [i] ', когда он терпит неудачу? – user1666620
Я только что отредактировал, чтобы включить скриншот. Значение i - это URL-адрес, который вы можете видеть (я зачеркнул ключ). –
Итак, в приведенном выше исключении значение широты было 51.442276, а долгота -0.065837 –