次の方法で共有


Location.Longitude プロパティ (Search)

LocationLongitude コンポーネントです。

構文

public double Longitude { get; set; }

解説

Longitude の有効な入力値の範囲は、-180180 です。正確な結果を得るには、入力値を 10 進数表現の経度の値に変換する必要があります。出力値は、SourceType.PhoneBook の 10 進数形式の結果のみが返されます。

経度線は、子午線とも呼ばれ、北極と南極の間を結んでいます。東西の位置を、度、分、および秒の単位で測定します。英国のグリニッジを通る本初子午線に、0 度の値が割り当てられています。本初子午線の西にある子午線には負の値が割り当てられ、東にある子午線には正の値が割り当てられます。たとえば、Washington 州 Seattle の経度は、西経 122° 19' 51.04" で、これは (負の) 10 進数値 -122.328567 に変換されます。

この例では、PhoneBook SourceType から、タイトル、説明、および位置の情報を要求し、その情報をコンソール ウィンドウに表示します。下記では、位置情報を要求するコードと、Longitude プロパティを返すコードを、太字で示しています。

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.Location;

searchRequest.Query = "coffee";
searchRequest.Requests = sr;
// Developer Provisioning System で指定されたアプリケーション ID を 二重引用符で囲って 
// SearchRequest の AppID の値として入力します。
searchRequest.AppID = "YOUR_APP_ID_GOES_HERE";
searchRequest.CultureInfo = "en-US";

// Location をシアトル (ワシントン州、米国) の中心に設定し、
// 半径の値を 25.0 マイルに設定します。緯度と経度を表す 10 進数値を使用して、Location を
// 変更し、サポートされている他の場所の住所を返すことができます。
searchRequest.Location = new Location();
double latitude = 47.603828;
double longitude = -122.328567;
double radius = 25.0;
searchRequest.Location.Latitude = latitude;
    searchRequest.Location.Longitude = longitude;
searchRequest.Location.Radius = radius;

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.Location != null)
            {
Console.WriteLine("緯度:" + sourceResult.Location.Latitude.ToString());
                Console.WriteLine("経度:" + sourceResult.Location.Longitude.ToString());
// Radius には、要求された値にはかかわらず、常に 5 が返されます。
Console.WriteLine("半径:" + sourceResult.Location.Radius.ToString());
            }
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 - 結果総数: 11103

タイトル:Tully's Coffee

説明:(206) 682-6575 - 701 5th Ave, Seattle, WA

緯度: 47.604359

経度: -122.329779

半径: 5

*****************************************************

タイトル:Starbucks Coffee

説明:(206) 447-9934 - 701 5th Ave, Seattle, WA

緯度: 47.604359

経度: -122.329779

半径: 5

*****************************************************

タイトル:Walters Waffles

説明:(206) 622-8020 - 701 5th Ave Ste 3600, Seattle, WA

緯度: 47.604359

経度: -122.329779

半径: 5

*****************************************************

タイトル:Starbucks

説明:(206) 622-5789 - 700 5th Ave # 4, Seattle, WA

緯度: 47.604402

経度: -122.329798

半径: 5

*****************************************************

タイトル:4th Avenue Caffe

説明:(206) 340-9035 - 500 4th Ave, Seattle, WA

緯度: 47.602469

経度: -122.329599

半径: 5

*****************************************************

タイトル:Starbucks

説明:(206) 447-9934 - 701 4th Ave, Seattle, WA

緯度: 47.604007

経度: -122.330905

半径: 5

*****************************************************

タイトル:M & M Assoc

説明:(206) 625-3253 - 800 5th Ave, Seattle, WA

緯度: 47.60506

経度: -122.33046

半径: 5

*****************************************************

タイトル:Pioneer Mart

説明:(206) 903-6324 - 609 3rd Ave, Seattle, WA

緯度: 47.602865

経度: -122.331462

半径: 5

*****************************************************

タイトル:All City Coffee

説明:(206) 652-8331 - 125 Prefontaine Pl S, Seattle, WA

緯度: 47.60146

経度: -122.329689

半径: 5

*****************************************************

タイトル:Pegasus Coffee Bar

説明:(206) 682-3113 - 711 3rd Ave # 331, Seattle, WA

緯度: 47.603602

経度: -122.332252

半径: 5

*****************************************************

終了するにはいずれかのキーを押してください。