.net Web アプリケーションで bing soap サービスを使用していますが、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。行 74 のエラー:
Line 72: geom p=null;
Line 73: string k = input.country + ", " + input.zipCode;
Line 74: x = p.GeocodeAddress(k); // HERE
Line 75: input.lat = x.Latitude;
Line 76: input.lng = x.Longitude;
クラスコードは次のとおりです。
using thn.GeocodeService;
public class geom
{
public Location GeocodeAddress(string inputAddress)
{
GeocodeRequest geocodeRequest = new GeocodeRequest();
geocodeRequest.Credentials = new GeocodeService.Credentials();
geocodeRequest.Credentials.ApplicationId = "<my bing code>";
geocodeRequest.Query = inputAddress;
GeocodeServiceClient geocodeService = new GeocodeServiceClient("BasicHttpBinding_IGeocodeService");
GeocodeResponse geocodeResponse = geocodeService.Geocode(geocodeRequest);
if ((geocodeResponse.Results.Length > 0) && (geocodeResponse.Results[0].Locations.Length > 0))
{
return geocodeResponse.Results[0].Locations[0];
}
else
{
return null;
}
}
}
呼び出し部分は次のとおりです。
user input;
Location x;
geom p=null;
string k = input.country + ", " + input.zipCode;
x = p.GeocodeAddress(k);
input.lat = x.Latitude;
input.lng = x.Longitude;
どこが間違っていたのでしょうか?また、プロジェクトのサービス参照にジオコード サービスを追加したので、問題はありません..