Show Menu
TEMAS×

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 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.
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 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];
}