Поделиться через


GeoCoordinateWatcher.TryStart(Boolean, TimeSpan) Метод

Определение

Инициирует получение данных расположения от текущего поставщика расположения. Этот метод завершает работу синхронно.

public:
 virtual bool TryStart(bool suppressPermissionPrompt, TimeSpan timeout);
public bool TryStart (bool suppressPermissionPrompt, TimeSpan timeout);
abstract member TryStart : bool * TimeSpan -> bool
override this.TryStart : bool * TimeSpan -> bool
Public Function TryStart (suppressPermissionPrompt As Boolean, timeout As TimeSpan) As Boolean

Параметры

suppressPermissionPrompt
Boolean

Значение true для подавления диалогового окна запроса разрешений; значение false для отображения диалогового окна запроса разрешений.

timeout
TimeSpan

Время ожидания запуска поставщика расположения в миллисекундах.

Возвращаемое значение

Значение true, если получение данных началось в течение периода времени, заданного параметром timeout; в противном случае — значение false.

Реализации

Примеры

В следующем примере показано, как вызвать TryStart.

using System;
using System.Device.Location;

namespace GetLocationProperty
{
    class Program
    {
        static void Main(string[] args)
        {
            GetLocationProperty();
        }

        static void GetLocationProperty()
        {
            GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();

            // Do not suppress prompt, and wait 1000 milliseconds to start.
            watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));

            GeoCoordinate coord = watcher.Position.Location;

            if (coord.IsUnknown != true)
            {
                Console.WriteLine("Lat: {0}, Long: {1}",
                    coord.Latitude,
                    coord.Longitude);
            }
            else
            {
                Console.WriteLine("Unknown latitude and longitude.");
            }
        }
    }
}
Imports System.Device.Location

Module GetLocationProperty
    Public Sub GetLocationProperty()
        Dim watcher As New System.Device.Location.GeoCoordinateWatcher()
        watcher.TryStart(False, TimeSpan.FromMilliseconds(1000))

        Dim coord As GeoCoordinate = watcher.Position.Location

        If coord.IsUnknown <> True Then
            Console.WriteLine("Lat: {0}, Long: {1}", coord.Latitude, coord.Longitude)
        Else
            Console.WriteLine("Unknown latitude and longitude.")
        End If
    End Sub

    Public Sub Main()
        GetLocationProperty()
        Console.ReadLine()
    End Sub

End Module

Комментарии

Этот метод блокирует выполнение вызывающего потока в течение периода времени, заданного параметром timeout. Соблюдайте осторожность при вызове TryStart из потока пользовательского интерфейса приложения.

Применяется к