GeoCoordinateWatcher.Start 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 위치 공급자로부터 데이터 취득을 시작합니다. 이 메서드는 PositionChanged 이벤트를 사용하도록 설정하고 속성에 Position 대한 액세스를 허용합니다.
오버로드
| Name | Description |
|---|---|
| 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 될 때 Start Windows 7 센서 및 위치 플랫폼을 사용하지 않도록 설정하면 즉시 반환되고 이벤트가 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 사용 권한이 아직 부여되지 않은 경우 선택적으로 사용 권한 대화 상자를 표시합니다.