次の方法で共有


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)

その他のリソース

検索ソース タイプの理解