私は、ロンドンのプロパティポータルのいくつかのプロパティから経度と緯度を取得するプログラムを作成しました。Google Geocode null参照例外
私が次に行うことは、これらのlong + latをジオコードに送り、完全にフォーマットされたアドレスを返すことです。以下のコードは、geocodeURLリストにあるほとんどのURLで機能しますが、null参照例外が返されることがあります。
エラーが発生した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>
例外の1つのそのような例、そしてあなたはURLは大丈夫のようですが、それは関係なく、例外をスロー見ることができます...(私は)FYIキーをブラックアウトしている
あなたは例外をスローする基準を知っていますか?失敗したときの 'i'、' latitude [i] 'と' longitude [i] 'の値は何ですか? – user1666620
スクリーンショットを追加するように編集しました。私の値はあなたが見ることができるURLです(私は鍵を黒くしました)。 –
上記の例外を除いて、緯度の値は51.442276、経度-0.065837 –