次の方法で共有


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 Sensor and Location プラットフォームが無効になっている場合、Startはすぐに戻り、PositionChangedイベントは発生せず、PositionLocation プロパティによって返される場所には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 します。

実装

適用対象