### Method

# Xdp Portal location_monitor_start

#### Declaration [src]

    void
    xdp_portal_location_monitor_start (
      XdpPortal* portal,
      XdpParent* parent,
      guint distance_threshold,
      guint time_threshold,
      XdpLocationAccuracy accuracy,
      XdpLocationMonitorFlags flags,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer data
    )

#### Description [src]

Makes `XdpPortal` start monitoring location changes.

When the location changes, the `XdpPortal::location-updated`. signal is emitted.

Use `xdp_portal_location_monitor_stop()` to stop monitoring.

Note that `XdpPortal` only maintains a single location monitor at a time. If you want to change the `distance_threshold`, `time_threshold` or `accuracy` of the current monitor, you first have to call `xdp_portal_location_monitor_stop()` to stop monitoring.

This method completes asynchronously. Use `xdp_portal_location_monitor_start_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`parent`

  Type: `XdpParent`

  A `XdpParent`, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`distance_threshold`

  Type: `guint`

  Distance threshold, in meters.

`time_threshold`

  Type: `guint`

  Time threshold, in seconds.

`accuracy`

  Type: `XdpLocationAccuracy`

  Desired accuracy.

`flags`

  Type: `XdpLocationMonitorFlags`

  Options for this call.

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`callback`

  Type: `GAsyncReadyCallback`

  A callback to call when the request is done.

  The argument can be `NULL`.

`data`

  Type: `gpointer`

  Data to pass to `callback`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.