다음을 통해 공유


GeoCoordinateWatcher.Start 메서드

정의

현재 위치 공급자로부터 데이터 취득을 시작합니다. 이 메서드는 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 사용 권한이 아직 부여되지 않은 경우 선택적으로 사용 권한 대화 상자를 표시합니다.

구현

적용 대상