Bagikan melalui


GeoCoordinateWatcher.Start Metode

Definisi

Memulai akuisisi data dari penyedia lokasi saat ini. Metode ini memungkinkan PositionChanged peristiwa dan memungkinkan akses ke Position properti .

Overload

Start()

Memulai akuisisi data dari penyedia lokasi saat ini. Metode ini memungkinkan PositionChanged peristiwa dan memungkinkan akses ke Position properti .

Start(Boolean)

Memulai akuisisi data dari penyedia lokasi saat ini. Metode ini memungkinkan PositionChanged peristiwa dan memungkinkan akses ke Position properti .

Start()

Memulai akuisisi data dari penyedia lokasi saat ini. Metode ini memungkinkan PositionChanged peristiwa dan memungkinkan akses ke Position properti .

public:
 virtual void Start();
public void Start ();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()

Penerapan

Contoh

Program berikut menangani pembaruan lokasi pertama yang terjadi setelah Start dipanggil.

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

Keterangan

Memanggil metode ini akan memulai akuisisi data dari penyedia lokasi saat ini. Penyedia lokasi saat ini dipilih berdasarkan faktor-faktor seperti usia dan akurasi data dari semua penyedia, akurasi yang diminta oleh aplikasi atau aplikasi, dan konsumsi daya dan dampak performa yang terkait dengan penyedia lokasi. Penyedia lokasi saat ini mungkin berubah dari waktu ke waktu, misalnya, ketika perangkat GPS kehilangan sinyal satelitnya di dalam ruangan dan penyedia triangulasi Wi-Fi menjadi penyedia yang paling akurat di komputer.

Jika penyedia lokasi yang diprioritaskan saat ini tidak memiliki data ketika Start metode dipanggil, penyedia lokasi tersebut akan mulai memperoleh data. Jika izin telah diberikan kepada klien saat data tersedia, data dapat diakses secara sinkron, dan akan dikirimkan secara asinkron jika peristiwa sedang ditangani.

Jika platform Sensor dan Lokasi Windows 7 dinonaktifkan saat Start dipanggil, Start akan segera kembali, PositionChanged peristiwa tidak akan dinaikkan, dan lokasi yang dikembalikan oleh Location properti Position akan berisi Unknown.

Jika penyedia lokasi yang diprioritaskan saat ini memang memiliki data, itu akan segera tersedia secara sinkron, dan akan dikirimkan secara asinkron jika peristiwa sedang ditangani.

Jika aplikasi panggilan tidak memiliki izin untuk mengakses data dari penyedia lokasi, pengguna akan diminta dengan kotak dialog untuk memberikan atau menolak izin. Kotak dialog akan menjadi modeless.

Berlaku untuk

Start(Boolean)

Memulai akuisisi data dari penyedia lokasi saat ini. Metode ini memungkinkan PositionChanged peristiwa dan memungkinkan akses ke Position properti .

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)

Parameter

suppressPermissionPrompt
Boolean

true untuk menekan kotak dialog izin; false untuk memperlihatkan kotak dialog izin secara opsional jika izin belum diberikan.

Penerapan

Berlaku untuk