GeoCoordinateWatcher.Start Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli konum sağlayıcısından veri alımını başlatın. Bu yöntem olayları etkinleştirir PositionChanged ve özelliğine Position erişim izni verir.
Aşırı Yüklemeler
Start() |
Geçerli konum sağlayıcısından veri alımını başlatın. Bu yöntem olayları etkinleştirir PositionChanged ve özelliğine Position erişim izni verir. |
Start(Boolean) |
Geçerli konum sağlayıcısından veri alımını başlatın. Bu yöntem olayları etkinleştirir PositionChanged ve özelliğine Position erişim izni verir. |
Start()
Geçerli konum sağlayıcısından veri alımını başlatın. Bu yöntem olayları etkinleştirir PositionChanged ve özelliğine Position erişim izni verir.
public:
virtual void Start();
public void Start ();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()
Uygulamalar
Örnekler
Aşağıdaki program çağrıldıktan sonra Start gerçekleşen ilk konum güncelleştirmesini işler.
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
Açıklamalar
Bu yöntemin çağrılması, geçerli konum sağlayıcısından veri alımını başlatır. Geçerli konum sağlayıcısı, tüm sağlayıcılardan gelen verilerin yaşı ve doğruluğu, uygulama veya uygulamalar tarafından istenen doğruluk ve konum sağlayıcısıyla ilişkili güç tüketimi ve performans etkisi gibi faktörlere göre seçilir. Örneğin, bir GPS cihazı iç mekanda uydu sinyalini kaybettiğinde ve Wi-Fi bir üçgenleme sağlayıcısı bilgisayardaki en doğru sağlayıcı olduğunda, geçerli konum sağlayıcısı zaman içinde değişebilir.
Yöntem çağrıldığında Start geçerli önceliklendirilmiş konum sağlayıcısı veri içermiyorsa veri almaya başlar. Veriler kullanılabilir olduğunda istemciye izinler verildiyse, verilere zaman uyumlu olarak erişilebilir ve olaylar işleniyorsa zaman uyumsuz olarak teslim edilir.
Çağrıldığında Start Windows 7 Algılayıcısı ve Konum platformu devre dışı bırakılırsa, Start hemen geri döner, PositionChanged olaylar tetiklenmez ve özelliği Position tarafından Location döndürülen konum öğesini içerirUnknown.
Geçerli önceliklendirilmiş konum sağlayıcısı veriye sahipse, bu sağlayıcı hemen zaman uyumlu olarak kullanılabilir ve olaylar işleniyorsa zaman uyumsuz olarak teslim edilir.
Çağıran uygulamanın bir konum sağlayıcısındaki verilere erişim izinleri yoksa, kullanıcıdan izin vermesi veya reddetmesi için bir iletişim kutusu istenir. İletişim kutusu modeless olacaktır.
Şunlara uygulanır
Start(Boolean)
Geçerli konum sağlayıcısından veri alımını başlatın. Bu yöntem olayları etkinleştirir PositionChanged ve özelliğine Position erişim izni verir.
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)
Parametreler
- suppressPermissionPrompt
- Boolean
true
izin iletişim kutusunu engellemek için; false
izinler henüz verilmemişse isteğe bağlı olarak izin iletişim kutusunu gösterir.