GeoCoordinateWatcher クラス
この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

GeoCoordinateWatcher クラス

 

緯度と経度に基づいている装置場所データを調整します。

名前空間:   System.Device.Location
アセンブリ:  System.Device (System.Device.dll 内)

System.Object
  System.Device.Location.GeoCoordinateWatcher

[SecurityCriticalAttribute]
public class GeoCoordinateWatcher : IDisposable, INotifyPropertyChanged, 
	IGeoPositionWatcher<GeoCoordinate>

名前説明
System_CAPS_pubmethodGeoCoordinateWatcher()

既定の精度設定を使用して、GeoCoordinateWatcher の新しいインスタンスを初期化します。

System_CAPS_pubmethodGeoCoordinateWatcher(GeoPositionAccuracy)

新しいインスタンスを初期化 GeoCoordinateWatcher, 、正確性レベルを指定します。

名前説明
System_CAPS_pubpropertyDesiredAccuracy

によって提供される、場所データの要求された精度レベル、 GeoCoordinateWatcherです。

System_CAPS_pubpropertyMovementThreshold

場所プロバイダーが別の PositionChanged イベントを発生させるために必要な、最後の PositionChanged イベントの座標からの相対的なメートル単位の移動距離。

System_CAPS_pubpropertyPermission

プロバイダーの場所から場所データにアクセスする権限が許可または拒否するかどうかを示します。

System_CAPS_pubpropertyPosition

取得、 GeoCoordinate 、現在の場所を示します。

System_CAPS_pubpropertyStatus

GeoCoordinateWatcher の現在の状態を取得します。

名前説明
System_CAPS_pubmethodDispose()

GeoCoordinateWatcher クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。

System_CAPS_protmethodDispose(Boolean)

GeoCoordinateWatcher クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。

System_CAPS_pubmethodEquals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。(Object から継承されました。)

System_CAPS_protmethodFinalize()

GeoCoordinateWatcher がガベージ コレクションによってクリアされる前に、リソースを解放し、その他のクリーンアップ操作を実行します。(Object.Finalize() をオーバーライドする。)

System_CAPS_pubmethodGetHashCode()

既定のハッシュ関数として機能します。(Object から継承されました。)

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されました。)

System_CAPS_protmethodMemberwiseClone()

現在の Object の簡易コピーを作成します。(Object から継承されました。)

System_CAPS_protmethodOnPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate>)

PositionChanged イベントが発生すると呼び出されます。

System_CAPS_protmethodOnPositionStatusChanged(GeoPositionStatusChangedEventArgs)

ときに呼び出されます、 StatusChanged イベントが発生します。

System_CAPS_protmethodOnPropertyChanged(String)

時のプロパティと呼ばれる、 GeoCoordinateWatcher 変更します。

System_CAPS_pubmethodStart()

現在の場所のプロバイダーからのデータの取得を開始します。 このメソッドにより、 PositionChanged イベントにアクセスできる、 Position プロパティです。

System_CAPS_pubmethodStart(Boolean)

現在の場所プロバイダーからのデータの取得を示します。このメソッドは、PositionChanged イベントを有効にし、Position プロパティにアクセスできるようにします。

System_CAPS_pubmethodStop()

停止、 GeoCoordinateWatcher から場所データとイベントを提供します。

System_CAPS_pubmethodToString()

現在のオブジェクトを表す文字列を返します。 (Object から継承されました。)

System_CAPS_pubmethodTryStart(Boolean, TimeSpan)

現在の場所のプロバイダーからのデータの取得を開始します。 このメソッドは同期的に返します。

名前説明
System_CAPS_pubeventPositionChanged

緯度または経度の位置データが変更されたことを示します。

System_CAPS_pubeventStatusChanged

示しますの状態、 GeoCoordinateWatcher オブジェクトが変更されました。

名前説明
System_CAPS_pubinterfaceSystem_CAPS_priveventINotifyPropertyChanged.PropertyChanged

示します、 Status プロパティには、 Position プロパティ、または Permission プロパティが変更されました。

System_CAPS_pubinterfaceSystem_CAPS_priveventIGeoPositionWatcher<GeoCoordinate>.PositionChanged

場所のデータが変更されたことを示します。

System_CAPS_pubinterfaceSystem_CAPS_priveventIGeoPositionWatcher<GeoCoordinate>.StatusChanged

場所のプロバイダーの状態が変更されたことを示します。

GeoCoordinateWatcher クラスは、現在の場所のプロバイダーから座標ベースの場所にデータを提供します。 現在の場所のプロバイダーは、コンピューターで、最高の値に基づいて、さまざまな有効期間とすべてのプロバイダーからのデータの正確性などの要因の場所のアプリケーション、および場所プロバイダーに関連付けられた電源消費とパフォーマンスの影響によって要求された正確性が優先されます。 現在の場所のプロバイダーは、たとえば、GPS デバイスには、そのサテライト信号を屋内でが失われ、Wi-fi 三角測量プロバイダーが、最も正確なコンピューター上のプロバイダー、時間の経過と共に変更できます。

場所のデータにアクセスするのには、作成、 GeoCoordinateWatcher を呼び出すと Start または TryStart の現在の場所のプロバイダーからのデータの取得を開始します。

Status プロパティを確認するにはデータが使用できるかを判断します。 1 回の場所を取得することができます、データを使用する場合、 Position プロパティ、または処理することにより、継続的な場所の更新を受信、 PositionChanged イベントです。

Permission, 、Status, 、および Position プロパティ サポート INotifyPropertyChanged, 、アプリケーションでこれらのプロパティにデータにバインドできるようにします。

Windows 7 ではすべて、 System.Device.Location クラスは、完全に場所プロバイダーがインストールされている場合に機能し、コンピューターの場所を解決するのにはできません。

System_CAPS_noteメモ

Windows 7 Starter Edition では、[のみサポートされている場所のプロバイダーは、コントロール パネルで、既定の場所プロバイダーし、アドインをインストールする必要がある緯度と経度を指定します。

   Windows 7 以前の Windows バージョンは、次の条件が適用されます。

  • すべて System.Device.Location コンス トラクターを持つオブジェクトを作成することができますが、 Status プロパティには、値が常に Disabledします。

  • によって示される位置、 LocationPosition は常に Unknownします。

  • 場所のイベントは発生しません。

次のプログラムを作成する方法を示しています、 GeoCoordinateWatcher し、初期化のタイムアウトを使用して、データの取得を開始します。 コードは、既知の場合、場所の座標を出力します。

using System;
using System.Device.Location;

namespace GetLocationProperty
{
    class Program
    {
        static void Main(string[] args)
        {
            GetLocationProperty();
        }

        static void GetLocationProperty()
        {
            GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();

            // Do not suppress prompt, and wait 1000 milliseconds to start.
            watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));

            GeoCoordinate coord = watcher.Position.Location;

            if (coord.IsUnknown != true)
            {
                Console.WriteLine("Lat: {0}, Long: {1}",
                    coord.Latitude,
                    coord.Longitude);
            }
            else
            {
                Console.WriteLine("Unknown latitude and longitude.");
            }
        }
    }
}

次のプログラムを購読することにより、継続的な場所の更新を受信する方法を示しています。 PositionChanged イベントです。

using System;
using System.Device.Location;

namespace GetLocationEvent
{
    class Program
    {
        static void Main(string[] args)
        {
            CLocation myLocation = new CLocation();
            myLocation.GetLocationEvent();
            Console.WriteLine("Enter any key to quit.");
            Console.ReadLine();            
        }
        class CLocation
        {
            GeoCoordinateWatcher watcher;

            public void GetLocationEvent()
            {
                this.watcher = new GeoCoordinateWatcher();
                this.watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
                bool started = this.watcher.TryStart(false, TimeSpan.FromMilliseconds(2000));
                if (!started)
                {
                    Console.WriteLine("GeoCoordinateWatcher timed out on start.");
                }
            }

            void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
            {
                PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude);
            }

            void PrintPosition(double Latitude, double Longitude)
            {
                Console.WriteLine("Latitude: {0}, Longitude {1}", Latitude, Longitude);
            }
        }
    }
}

.NET Framework
4.0 から利用可能
Windows Phone Silverlight
7.0 から利用可能

すべてのパブリック構造体 (Shared Visual Basic では) メンバーは、スレッド セーフです。 Aインスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示:
© 2016 Microsoft