GeolocationProvider Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bietet die Möglichkeit, den Standort des Benutzers von einer Remotequelle außer Kraft zu setzen.
Anmerkung
Um Standortüberschreibungs-APIs aufzurufen, muss eine App die runFullTrust
eingeschränkten Funktiondeklarieren.
Wichtig
Die Windows.Devices.Geolocation.Provider-APIs sind Teil eines Features für eingeschränkten Zugriff (siehe LimitedAccessFeatures-Klasse). Weitere Informationen oder zum Anfordern eines Entsperrtokens verwenden Sie bitte das LAF-Zugriffstokenanforderungsformular.
public ref class GeolocationProvider sealed
/// [Windows.Foundation.Metadata.Activatable(983040, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 983040)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class GeolocationProvider final
[Windows.Foundation.Metadata.Activatable(983040, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 983040)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class GeolocationProvider
function GeolocationProvider()
Public NotInheritable Class GeolocationProvider
- Vererbung
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 11 Insider Preview (eingeführt in 10.0.23504.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v15.0)
|
App-Funktionen |
runFullTrust
|
Beispiele
Das Szenario in diesem Codebeispiel umfasst eine serverseitige App für einen Remotezugriffsclient mit diesen APIs, um den Speicherort des Computers außer Kraft zu setzen. In dem Szenario werden Client-Apps auf verschiedenen Betriebssystemen (OSes) (z. B. Windows, MacOS, iOS oder Linux) ausgeführt und stellen regelmäßig (durch Aufrufen dieser APIs) eine Komponente bereit, die als Proxy auf dem Hostcomputer fungiert.
using Windows.Devices.Geolocation;
using Windows.Devices.Geolocation.Provider;
...
public class OverrideLocation
{
public struct ClientPositionInfo
{
public BasicGeoposition geoposition;
public PositionSource positionSource;
public double accuracy;
};
private GeolocationProvider geolocationProvide = null;
// When remote desktop connection is established,
// call this API to initialize.
public void Initialize()
{
geolocationProvider = new GeolocationProvider();
geolocationProvider.IsOverriddenChanged +=
new EventHandler<object>(OnIsOverriddenChanged);
}
// Uninitialize when remote desktop connection is stopped.
public void DeInitialize()
{
geolocationProvider.IsOverriddenChanged -= OnIsOverriddenChanged;
geolocationProvide.ClearOverridePosition();
}
private void OnIsOverriddenChanged(object sender, object args)
{
if (!geolocationProvider.IsOverridden)
{
SetPosition();
}
}
// When remote desktop connection established,
// call this API to set override position.
public bool SetPosition()
{
// Get client location information from client side.
ClientPositionInfo clientPositionInfo = GetClientLocationInformation();
LocationOverrideStatus status = geolocationProvider.SetOverridePosition(
clientPositionInfo.geoposition,
clientPositionInfo.positionSource,
clientPositionInfo.accuracy);
if (status == LocationOverrideStatus.AlreadyStarted)
{
// Failed to get override session.
return false;
}
else if (status == LocationOverrideStatus.AccessDenied)
{
// Do not have access to override.
return false;
}
else if (status == LocationOverrideStatus.Other)
{
// something else caused the failure.
return false;
}
return true;
}
public bool UpdatePosition()
{
// Update position.
return SetPosition();
}
}
Hinweise
Sie sollten auf ein GeolocationProvider--Objekt aus dem Kontext des Benutzers zugreifen, für den standortbezogene Apps außer Kraft gesetzt und bereitgestellt werden sollen. Die Länge einer Standortüberschreibungssitzung wird durch Aufrufe an SetOverridePosition- und ClearOverridePosition-gebunden. Sobald eine Sitzung erfolgreich gestartet wurde, können andere Entitäten die Außerkraftsetzungsfunktionalität erst abrufen, wenn das ursprüngliche Objekt gelöscht wurde.
Konstruktoren
GeolocationProvider() |
Erstellt eine neue Instanz von GeolocationProvider. Anmerkung Um Standortüberschreibungs-APIs aufzurufen, muss eine App die Wichtig Die Windows.Devices.Geolocation.Provider-APIs sind Teil eines Features für eingeschränkten Zugriff (siehe LimitedAccessFeatures-Klasse). Weitere Informationen oder zum Anfordern eines Entsperrtokens verwenden Sie bitte das LAF-Zugriffstokenanforderungsformular. |
Eigenschaften
IsOverridden |
Ruft einen Wert ab, der angibt, ob das besitzende GeolocationProvider- zurzeit überschrieben ist oder nicht. Sie können auf den Wert dieser Eigenschaft im Handler für das GeolocationProvider.IsOverriddenChanged-Ereignis zugreifen. Anmerkung Um Standortüberschreibungs-APIs aufzurufen, muss eine App die Wichtig Die Windows.Devices.Geolocation.Provider-APIs sind Teil eines Features für eingeschränkten Zugriff (siehe LimitedAccessFeatures-Klasse). Weitere Informationen oder zum Anfordern eines Entsperrtokens verwenden Sie bitte das LAF-Zugriffstokenanforderungsformular. |
Methoden
ClearOverridePosition() |
Löscht (oder setzt) eine Außerkraftsetzungsposition, die zuvor durch einen Aufruf von GeolocationProvider.SetOverridePositionfestgelegt wurde. Anmerkung Um Standortüberschreibungs-APIs aufzurufen, muss eine App die Wichtig Die Windows.Devices.Geolocation.Provider-APIs sind Teil eines Features für eingeschränkten Zugriff (siehe LimitedAccessFeatures-Klasse). Weitere Informationen oder zum Anfordern eines Entsperrtokens verwenden Sie bitte das LAF-Zugriffstokenanforderungsformular. |
SetOverridePosition(BasicGeoposition, PositionSource, Double) |
Legt eine Außerkraftsetzungsposition für die Position des Benutzers fest. Sie können die Außerkraftsetzungsposition löschen, indem Sie GeolocationProvider.ClearOverridePosition- Anmerkung Um Standortüberschreibungs-APIs aufzurufen, muss eine App die Wichtig Die Windows.Devices.Geolocation.Provider-APIs sind Teil eines Features für eingeschränkten Zugriff (siehe LimitedAccessFeatures-Klasse). Weitere Informationen oder zum Anfordern eines Entsperrtokens verwenden Sie bitte das LAF-Zugriffstokenanforderungsformular. |
Ereignisse
IsOverriddenChanged |
Ein Ereignis, das ausgelöst wird, wenn sich der Wert des GeolocationProvider.IsOverridden Eigenschaft ändert. Sie können sich registrieren, um dieses Ereignis zu behandeln, und auf den aktuellen Wert von GeolocationProvider.IsOverridden als Antwort zugreifen. Anmerkung Um Standortüberschreibungs-APIs aufzurufen, muss eine App die Wichtig Die Windows.Devices.Geolocation.Provider-APIs sind Teil eines Features für eingeschränkten Zugriff (siehe LimitedAccessFeatures-Klasse). Weitere Informationen oder zum Anfordern eines Entsperrtokens verwenden Sie bitte das LAF-Zugriffstokenanforderungsformular. |