Geolocator Class

現在の地理的な場所にアクセスできるようにします。

構文


var geolocator = new Windows.Devices.Geolocation.Geolocator();

属性

[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]

メンバー

Geolocatorクラス には次の種類のメンバーがあります。

コンストラクター

Geolocatorクラス にはこれらのコンストラクターがあります。

コンストラクター説明
Geolocator Initializes a new Geolocator object.

 

イベント

Geolocatorクラス にはこれらのイベントがあります。

イベント説明
PositionChanged Raised when the location is updated.
StatusChanged Raised when the ability of the Geolocator to provide updated location changes.

 

メソッド

The Geolocator クラス には次のメソッドがあります。 With C#、Visual Basic、および C++ では、以下からもメソッドが継承されます。Object クラス.

メソッド説明
GetGeopositionAsync() Starts an asynchronous operation to retrieve the current location of the device.
GetGeopositionAsync(TimeSpan, TimeSpan) Starts an asynchronous operation to retrieve the current location of the device.

 

プロパティ

Geolocatorクラス には次のプロパティがあります。

プロパティアクセスの種類説明

DesiredAccuracy

読み取り/書き込みThe accuracy level at which the Geolocator provides location updates.

DesiredAccuracyInMeters

読み取り/書き込みGets or sets the desired accuracy in meters for data returned from the location service.

LocationStatus

読み取り専用The status that indicates the ability of the Geolocator to provide location updates.

MovementThreshold

読み取り/書き込みGets and sets the distance of movement, in meters, relative to the coordinate from the last PositionChanged event, that is required for the Geolocator to raise a PositionChanged event.

ReportInterval

読み取り/書き込みThe requested minimum time interval between location updates, in milliseconds. If your application requires updates infrequently, set this value so that the location provider can conserve power by calculating location only when needed.

 

解説

GetGeopositionAsync を呼び出す、または PositionChanged イベントをサブスクライブするために最初に使用する Geolocator オブジェクトは、ユーザーに同意を求めるプロンプトが表示されるように UI スレッドで実行される必要があります。詳細については、「Guidelines for devices that access personal data (個人データにアクセスするデバイスのガイドライン)」を参照してください。

この例は、GetGeopositionAsync オブジェクトを呼び出す方法を示しています。


    var loc = null;

    function getloc() {
        if (loc == null) {
            loc = new Windows.Devices.Geolocation.Geolocator();
        }
        if (loc != null) {
            loc.getGeopositionAsync().then(getPositionHandler, errorHandler);
        }
    }

    function getPositionHandler(pos) {
        document.getElementById('latitude').innerHTML = pos.coordinate.latitude;
        document.getElementById('longitude').innerHTML = pos.coordinate.longitude;
        document.getElementById('accuracy').innerHTML = pos.coordinate.accuracy;
        document.getElementById('geolocatorStatus').innerHTML =
                getStatusString(loc.locationStatus);
    }

    function errorHandler(e) {
        document.getElementById('errormsg').innerHTML = e.message;
        // Display an appropriate error message based on the location status.
        document.getElementById('geolocatorStatus').innerHTML =
            getStatusString(loc.locationStatus);
    }

    function getStatusString(locStatus) {
        switch (locStatus) {
            case Windows.Devices.Geolocation.PositionStatus.ready:
                // Location data is available
                return "Location is available.";
                break;
            case Windows.Devices.Geolocation.PositionStatus.initializing:
                // This status indicates that a location device is still initializing
                return "Location devices are still initializing.";
                break;
            case Windows.Devices.Geolocation.PositionStatus.noData:
                // No location data is currently available 
                return "Data from location services is currently unavailable.";
                break;
            case Windows.Devices.Geolocation.PositionStatus.disabled:
                // The app doesn't have permission to access location,
                // either because location has been turned off.
                return "Your location is currently turned off. " +
                    "Change your settings through the Settings charm " +
                    " to turn it back on.";
                break;
            case Windows.Devices.Geolocation.PositionStatus.notInitialized:
                // This status indicates that the app has not yet requested
                // location data by calling GetGeolocationAsync() or 
                // registering an event handler for the positionChanged event. 
                return "Location status is not initialized because " +
                    "the app has not requested location data.";
                break;
            case Windows.Devices.Geolocation.PositionStatus.notAvailable:
                // Location is not available on this version of Windows
                return "You do not have the required location services " +
                    "present on your system.";
                break;
            default:
                break;
        }
    }


要件

最小限サポートされるクライアント

Windows 8 [Windows ストア アプリのみ]

最小限サポートされるサーバー

サポートなし [Windows ストア アプリのみ]

最小限サポートされる携帯電話

Windows Phone 8

名前空間

Windows.Devices.Geolocation
Windows::Devices::Geolocation [C++]

メタデータ

Windows.winmd

Capabilities

location
ID_CAP_LOCATION [Windows Phone]

 

 

表示:
© 2015 Microsoft