GeoCoordinateWatcher.Start メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の場所プロバイダーからのデータの取得を開始します。 このメソッドは、 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イベントは発生せず、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 します。