Referencia de la API de lugares

Esta es la información sobre las referencias de API en la extensión Places:

Procesamiento de un evento de región

Cuando un dispositivo cruza uno de los límites predefinidos de la región del servicio de lugares de la aplicación, la región y el tipo de evento se pasan al SDK para su procesamiento.

ProcessGeofence (Android)

Procesar un evento de Geofence región para el proporcionado transitionType.

Pasa el transitionType de GeofencingEvent.getGeofenceTransition(). Actualmente Geofence.GEOFENCE_TRANSITION_ENTER y Geofence.GEOFENCE_TRANSITION_EXIT son compatibles.

Sintaxis

Esta es la sintaxis para este método:

public static void processGeofence(final Geofence geofence, final int transitionType);

Ejemplo

Llame a este método en el IntentService que esté registrado para recibir eventos de geofence de Android.

Este es un ejemplo de código para este método:

public class GeofenceTransitionsIntentService extends IntentService {

    public GeofenceTransitionsIntentService() {
        super("GeofenceTransitionsIntentService");
    }

    protected void onHandleIntent(Intent intent) {
        GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);

        List<Geofence> geofences = geofencingEvent.getTriggeringGeofences();

        if (geofences.size() > 0) {
          // Call the Places API to process information
          Places.processGeofence(geofences.get(0), geofencingEvent.getGeofenceTransition());
        }
    }
}

ProcessRegionEvent (iOS)

Se debe llamar a este método en el CLLocationManager delegado, que indica si el usuario ha entrado o salido de una región específica.

Sintaxis

Esta es la sintaxis para este método:

+ (void) processRegionEvent: (nonnull CLRegion*) region forRegionEventType: (ACPRegionEventType) eventType;

Ejemplo

Este es un ejemplo de código para este método:

- (void) locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
    [ACPPlaces processRegionEvent:region forRegionEventType:ACPRegionEventTypeEntry];
}

- (void) locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
    [ACPPlaces processRegionEvent:region forRegionEventType:ACPRegionEventTypeExit];
}

ProcessGeofencingEvent (Android)

Procesar todo Geofences al GeofencingEvent mismo tiempo.

Sintaxis

public static void processGeofenceEvent(final GeofencingEvent geofencingEvent);

Ejemplo

Llame a este método en el IntentService que esté registrado para recibir eventos de geofence de Android

public class GeofenceTransitionsIntentService extends IntentService {

    public GeofenceTransitionsIntentService() {
        super("GeofenceTransitionsIntentService");
    }

    protected void onHandleIntent(Intent intent) {
        GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);
        // Call the Places API to process information
        Places.processGeofenceEvent(geofencingEvent);
    }
}

Recuperar puntos de interés cercanos

Devuelve una lista ordenada de puntos de interés cercanos en una llamada de retorno. Una versión sobrecargada de este método devuelve un código de error si se ha producido algún problema con la llamada de red resultante.

GetNearbyPointsOfInterest (Android)

Esta es la sintaxis para este método:

Sintaxis

public static void getNearbyPointsOfInterest(final Location location, final int limit,
                                             final AdobeCallback<List<PlacesPOI>> callback);

public static void getNearbyPointsOfInterest(final Location location, final int limit,
                                             final AdobeCallback<List<PlacesPOI>> callback,
                                             final AdobeCallback<PlacesRequestError> errorCallback);

Ejemplo

Este es un ejemplo de código para este método:

// getNearbyPointsOfInterest without an error callback
Places.getNearbyPointsOfInterest(currentLocation, 10, new AdobeCallback<List<PlacesPOI>>() {
    @Override
    public void call(List<PlacesPOI> pois) {
        // do required processing with the returned nearbyPoi array
        startMonitoringPois(pois);
    }
});

// getNearbyPointsOfInterest with an error callback
Places.getNearbyPointsOfInterest(currentLocation, 10,
    new AdobeCallback<List<PlacesPOI>>() {
        @Override
        public void call(List<PlacesPOI> pois) {
            // do required processing with the returned nearbyPoi array
            startMonitoringPois(pois);
        }
    }, new AdobeCallback<PlacesRequestError>() {
        @Override
        public void call(PlacesRequestError placesRequestError) {
            // look for the placesRequestError and handle the error accordingly
            handleError(placesRequestError);
        }
    }
);

GetNearbyPointsOfInterest (iOS)

Sintaxis

+ (void) getNearbyPointsOfInterest: (nonnull CLLocation*) currentLocation
                             limit: (NSUInteger) limit
                          callback: (nullable void (^) (NSArray<ACPPlacesPoi*>* _Nullable nearbyPoi)) callback;

+ (void) getNearbyPointsOfInterest: (nonnull CLLocation*) currentLocation
                             limit: (NSUInteger) limit
                          callback: (nullable void (^) (NSArray<ACPPlacesPoi*>* _Nullable nearbyPoi)) callback
                     errorCallback: (nullable void (^) (ACPPlacesRequestError result)) errorCallback;

Ejemplo

// getNearbyPointsOfInterest without an error callback
[ACPPlaces getNearbyPointsOfInterest:location
                               limit:10     
                            callback:^(NSArray<ACPPlacesPoi*>* nearbyPoi) {
    // do required processing with the returned nearbyPoi array
    [self startMonitoringPois:nearbyPOI];
}];

// getNearbyPointsOfInterest with an error callback
[ACPPlaces getNearbyPointsOfInterest:location limit:10
    callback:^(NSArray<ACPPlacesPoi *> * _Nullable nearbyPoi) {
        // do required processing with the returned nearbyPoi array
        [self startMonitoringPois:nearbyPOI];
    } errorCallback:^(ACPPlacesRequestError result) {
        // look for the error and handle accordingly
        [self handleError:result];
    }
];

Recuperar puntos de interés actuales del dispositivo

Solicita una lista de puntos de interés en los que se sabe que se encuentra el dispositivo y los devuelve en una llamada de retorno.

GetCurrentPointsOfInterest (Android)

Esta es la sintaxis para este método:

Sintaxis

public static void getCurrentPointsOfInterest(final AdobeCallback<List<PlacesPOI>> callback);

Ejemplo

Este es un ejemplo de código para este método:

Places.getCurrentPointsOfInterest(new AdobeCallback<List<PlacesPOI>>() {
    @Override
    public void call(List<PlacesPOI> pois) {
        // use the obtained POIs that the device is within
        processUserWithinPois(pois);        
    }
});

GetCurrentPointsOfInterest (iOS)

Sintaxis

Esta es la sintaxis para este método:

+ (void) getCurrentPointsOfInterest: (nullable void (^) (NSArray<ACPPlacesPoi*>* _Nullable userWithinPoi)) callback;

Ejemplo

Este es un ejemplo de código para este método:

[ACPPlaces getCurrentPointsOfInterest:^(NSArray<ACPPlacesPoi*>* userWithinPoi) {
    // do required processing with the returned userWithinPoi array
    [self processUserWithinPois:userWithinPoi];
}];

Obtener la ubicación del dispositivo

Solicita la ubicación del dispositivo, como se conoce anteriormente, mediante la extensión Places.

CONSEJO

La extensión Places solo conoce las ubicaciones que se le proporcionaron mediante llamadas a GetNearbyPointsOfInterest.

GetLastKnownLocation (Android)

Sintaxis

Esta es la sintaxis para este método:

public static void getLastKnownLocation(final AdobeCallback<Location> callback);

Ejemplo

Este es un ejemplo de código para este método:

Places.getLastKnownLocation(new AdobeCallback<Location>() {
    @Override
    public void call(Location lastLocation) {
        // do something with the last known location
        processLastKnownLocation(lastLocation);        
    }
});

GetLastKnownLocation (iOS)

Sintaxis

Esta es la sintaxis para este método:

+ (void) getLastKnownLocation: (nullable void (^) (CLLocation* _Nullable lastLocation)) callback;

Ejemplo

Este es un ejemplo de código para este método:

[ACPPlaces getLastKnownLocation:^(CLLocation* lastLocation) {
    // do something with the last known location
    [self processLastKnownLocation:lastLocation];
}];

Borrar datos del lado del cliente

Borrar (Android)

Borra los datos del lado del cliente para la extensión Places en el estado compartido, el almacenamiento local y en la memoria.

Sintaxis

Esta es la sintaxis para este método:

public static void clear();

Ejemplo

Este es un ejemplo de código para este método:

Places.clear();

clear (iOS)

Borra los datos del lado del cliente para la extensión Places en estado compartido, almacenamiento local y en memoria.

Sintaxis

Esta es la sintaxis para este método:

+ (void) clear;

Ejemplo

Este es un ejemplo de código para este método:

[ACPPlaces clear];

Establecer estado de autorización de ubicación

setAuthorizationStatus (Android)

Disponible a partir de Places v1.4.0

Establece el estado de autorización en la extensión Places.

El estado proporcionado se almacena en el estado compartido Lugares y es solo para referencia.
La llamada a este método no afecta al estado real de autorización de ubicación de este dispositivo.

Sintaxis

Esta es la sintaxis para este método:

public static void setAuthorizationStatus(final PlacesAuthorizationStatus status);

Ejemplo

Este es un ejemplo de código para este método:

Places.setAuthorizationStatus(PlacesAuthorizationStatus.ALWAYS);

setAuthorizationStatus (iOS)

Disponible a partir de ACPPlaces v1.3.0

Establece el estado de autorización en la extensión Places.

El estado proporcionado se almacena en el estado compartido Lugares y es solo para referencia.
La llamada a este método no afecta al estado real de autorización de ubicación de este dispositivo.

Cuando cambia el estado de autorización del dispositivo, se invoca el locationManager:didChangeAuthorizationStatus: método de su CLLocationManagerDelegate . Desde este método, debe pasar el nuevo CLAuthorizationStatus valor a la API de ACPPlaces setAuthorizationStatus: .

Sintaxis

Esta es la sintaxis para este método:

+ (void) setAuthorizationStatus: (CLAuthorizationStatus) status;

Ejemplo

Este es un ejemplo de código para este método:

- (void) locationManager: (CLLocationManager*) manager didChangeAuthorizationStatus: (CLAuthorizationStatus) status {    
    [ACPPlaces setAuthorizationStatus:status];
}

En esta página