Result.Address プロパティ (Search)
PhoneBook 検索結果に関連付けられた Address オブジェクトを返します。
構文
public Address Address { get; set; }
解説
Address オブジェクトには、住所の構成要素として、番地、市区町村、郡、都道府県、郵便番号、国/地域などが格納されます。Address オブジェクトとそれに含まれるフィールドの詳細については、「Address クラス (Search)」トピックを参照してください。
例
この例では、PhoneBook SourceType から、タイトル、説明、および住所の情報を要求し、その情報をコンソール ウィンドウに表示します。下記では、住所の情報を要求するコードと、Address オブジェクトを返すコードを、太字で示しています。
try
{
MSNSearchService s = new MSNSearchService();
SearchRequest searchRequest = new SearchRequest();
int arraySize = 1;
SourceRequest[] sr = new SourceRequest[arraySize];
sr[0] = new SourceRequest();
sr[0].Source = SourceType.PhoneBook;
sr[0].ResultFields = ResultFieldMask.Title | ResultFieldMask.Description | ResultFieldMask.Address;
searchRequest.Query = "coffee";
searchRequest.Requests = sr;
// Developer Provisioning System で指定されたアプリケーション ID を 二重引用符で囲って
// SearchRequest の AppID の値として入力します。
searchRequest.AppID = "YOUR_APP_ID_GOES_HERE";
searchRequest.CultureInfo = "en-US";
// Location を、米国の Washington 州、Seattle Tacoma International Airport に設定し、既定の
// 半径の値、5.0 マイルを使用します。緯度と経度を表す 10 進数値を使用して、Location を
// 変更し、サポートされている他の場所の住所を返すことができます。
searchRequest.Location = new Location();
double latitude = 47.422433;
double longitude = -122.305833;
searchRequest.Location.Latitude = latitude;
searchRequest.Location.Longitude = longitude;
SearchResponse searchResponse;
searchResponse = s.Search(searchRequest);
foreach (SourceResponse sourceResponse in searchResponse.Responses)
{
Result[] sourceResults = sourceResponse.Results;
if (searchResponse.Responses[0].Total > 0)
{
Console.WriteLine(sourceResponse.Source.ToString() + " - 結果総数:" + sourceResponse.Total.ToString());
Console.WriteLine();
}
foreach (Result sourceResult in sourceResults)
{
if ((sourceResult.Title != null) && (sourceResult.Title != String.Empty))
Console.WriteLine("タイトル:" + sourceResult.Title);
if ((sourceResult.Description != null) && (sourceResult.Description != String.Empty))
Console.WriteLine("説明:" + sourceResult.Description);
if (sourceResult.Address != null)
{
if ((sourceResult.Address.AddressLine != null) && (sourceResult.Address.AddressLine != String.Empty))
Console.WriteLine("番地:" + sourceResult.Address.AddressLine);
if ((sourceResult.Address.CountryRegion != null) && (sourceResult.Address.CountryRegion != String.Empty))
Console.WriteLine("国/地域:" + sourceResult.Address.CountryRegion);
if ((sourceResult.Address.PostalCode != null) && (sourceResult.Address.PostalCode != String.Empty))
Console.WriteLine("郵便番号:" + sourceResult.Address.PostalCode);
if ((sourceResult.Address.PrimaryCity != null) && (sourceResult.Address.PrimaryCity != String.Empty))
Console.WriteLine("都市:" + sourceResult.Address.PrimaryCity);
if ((sourceResult.Address.SecondaryCity != null) && (sourceResult.Address.SecondaryCity != String.Empty))
Console.WriteLine("第二都市:" + sourceResult.Address.SecondaryCity);
if ((sourceResult.Address.Subdivision != null) && (sourceResult.Address.Subdivision != String.Empty))
Console.WriteLine("州:" + sourceResult.Address.Subdivision);
}
Console.WriteLine("*****************************************************");
}
Console.WriteLine("終了するにはいずれかのキーを押してください。");
Console.ReadLine();
}
}
catch (SoapException fault)
{
Console.WriteLine(fault.Detail.InnerText.ToString());
Console.WriteLine("終了するにはいずれかのキーを押してください。");
Console.ReadLine();
}
catch (WebException webx)
{
Console.WriteLine(webx.ToString());
}
PhoneBook SourceRequest.ResultFields の値を ResultFieldMask.All に設定することで、Address オブジェクトを返すこともできます。
関連項目
参照
Address クラス (Search)
Location クラス (Search)
その他のリソース
検索ソース タイプの理解