다음을 통해 공유


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 메서드가 호출 되 면 데이터를 얻기를 시작 합니다. 사용 권한을 데이터 사용 가능 해지면 클라이언트에 부여 된, 데이터 동기적으로 액세스할 수 있습니다 하 고 이벤트를 처리 하는 경우 비동기적으로 전달 됩니다.

Windows 7 센서 및 위치 플랫폼을 사용 하지 않으면 때 Start 가 호출 Start 즉시 반환 됩니다 PositionChanged 이벤트를 발생 하지 것입니다, 그리고 및에서 반환 된 위치를 Location 속성의 Position 포함 됩니다 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입니다.

구현

적용 대상