GeoCoordinateWatcher.Start メソッド

定義

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

オーバーロード

Start()

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

Start(Boolean)

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

Start()

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

public:
 virtual void Start();
public void Start ();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()

実装

次のプログラムは、 が呼び出された後 Start に発生する最初の場所の更新を処理します。

using System;
using System.Device.Location;

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

            public void GetLocationDataEvent()
            {
                this.watcher = new GeoCoordinateWatcher();
                this.watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
                this.watcher.Start();
            }

            void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
            {
                PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude);
                // Stop receiving updates after the first one.
                this.watcher.Stop();
            }

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

Module GetLocationEvent
    Public Class CLocation
        Private WithEvents watcher As GeoCoordinateWatcher
        Public Sub GetLocationDataEvent()
            watcher = New System.Device.Location.GeoCoordinateWatcher()
            AddHandler watcher.PositionChanged, AddressOf watcher_PositionChanged
            watcher.Start()

        End Sub

        Private Sub watcher_PositionChanged(ByVal sender As Object, ByVal e As GeoPositionChangedEventArgs(Of GeoCoordinate))
            PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude)
            ' Stop receiving updates after the first one.
            watcher.Stop()
        End Sub

        Private Sub PrintPosition(ByVal Latitude As Double, ByVal Longitude As Double)
            Console.WriteLine("Latitude: {0}, Longitude {1}", Latitude, Longitude)
        End Sub
    End Class


    Public Sub Main()
        Dim myLocation As New CLocation()
        myLocation.GetLocationDataEvent()
        Console.WriteLine("Enter any key to quit.")
        Console.ReadLine()
    End Sub

End Module

注釈

このメソッドを呼び出すと、現在の場所プロバイダーからのデータの取得が開始されます。 現在の場所プロバイダーが、有効期間とすべてのプロバイダー、アプリケーションまたはアプリケーション、および電力消費量によって要求された精度場所プロバイダーに関連付けられたパフォーマンスに与える影響とデータの精度などの要因に基づいて選択されています。 たとえば、GPS デバイスが屋内で衛星信号を失い、Wi-Fi 三角形分割プロバイダーがコンピューター上で最も正確なプロバイダーになると、現在の場所プロバイダーが時間の経過と同時に変化する可能性があります。

メソッドの呼び出し時 Start に現在の優先順位付けされた場所プロバイダーにデータがない場合は、データの取得が開始されます。 データが使用可能になったときにアクセス許可がクライアントに付与されている場合は、データに同期的にアクセスでき、イベントが処理されている場合は非同期的に配信されます。

が呼び出されたときに Start Windows 7 センサーと場所プラットフォームが無効になっている場合、Startすぐにが返されます。PositionChangedイベントは発生せず、 の Position プロパティによってLocation返される場所には が含まれますUnknown

現在の優先順位付けされた場所プロバイダーにデータがある場合は、すぐに同期的に使用でき、イベントが処理されている場合は非同期的に配信されます。

呼び出し元のアプリケーションに場所プロバイダーのデータにアクセスするためのアクセス許可がない場合、ユーザーはアクセス許可を付与または拒否するダイアログ ボックスが表示されます。 ダイアログ ボックスはモードレスになります。

適用対象

Start(Boolean)

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

public:
 virtual void Start(bool suppressPermissionPrompt);
public void Start (bool suppressPermissionPrompt);
abstract member Start : bool -> unit
override this.Start : bool -> unit
Public Sub Start (suppressPermissionPrompt As Boolean)

パラメーター

suppressPermissionPrompt
Boolean

アクセス許可ダイアログ ボックスを表示しない場合は true。アクセス許可がまだ与えられていない場合にアクセス許可ダイアログ ボックスを表示する場合は false

実装

適用対象