Riferimento API Places

Informazioni sui riferimenti API nell'estensione Luoghi:

Elaborazione di un evento regione

Quando un dispositivo attraversa uno dei limiti dell'area del servizio Luoghi predefinita dell'app, l'area e il tipo di evento vengono passati all'SDK per l'elaborazione.

ProcessGeofence (Android)

Elabora un evento Geofence regionale per il contenuto fornito transitionType.

Passate la transitionType da GeofencingEvent.getGeofenceTransition(). Attualmente Geofence.GEOFENCE_TRANSITION_ENTER e Geofence.GEOFENCE_TRANSITION_EXIT sono supportati.

Sintassi

Di seguito è riportata la sintassi per questo metodo:

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

Esempio

Chiama questo metodo nel tuo account IntentService registrato per ricevere eventi di geofence Android.

Di seguito è riportato un esempio di codice per questo metodo:

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)

Questo metodo deve essere chiamato nel CLLocationManager delegato, che indica se l’utente è entrato o uscito da una regione specifica.

Sintassi

Di seguito è riportata la sintassi per questo metodo:

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

Esempio

Di seguito è riportato un esempio di codice per questo metodo:

- (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)

Elabora tutti Geofences allo GeofencingEvent stesso tempo.

Sintassi

public static void processGeofenceEvent(final GeofencingEvent geofencingEvent);

Esempio

Chiama questo metodo nel tuo IntentService che è registrato per ricevere eventi di geofence 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);
    }
}

Recuperare i punti di interesse nelle vicinanze

Restituisce un elenco ordinato di POI vicini in un callback. Una versione sovraccaricata di questo metodo restituisce un codice di errore se si è verificato un errore con la chiamata di rete risultante.

GetNearbyPointsOfInterest (Android)

Di seguito è riportata la sintassi per questo metodo:

Sintassi

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);

Esempio

Di seguito è riportato un esempio di codice per questo metodo:

// 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)

Sintassi

+ (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;

Esempio

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

Recupera punti di interesse dispositivo correnti

Richiede un elenco di POI in cui è attualmente noto che il dispositivo si trova e li restituisce in una callback.

GetCurrentPointsOfInterest (Android)

Di seguito è riportata la sintassi per questo metodo:

Sintassi

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

Esempio

Di seguito è riportato un esempio di codice per questo metodo:

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)

Sintassi

Di seguito è riportata la sintassi per questo metodo:

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

Esempio

Di seguito è riportato un esempio di codice per questo metodo:

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

Ottenere la posizione del dispositivo

Richiede la posizione del dispositivo, come precedentemente noto, dall'estensione Luoghi.

SUGGERIMENTO

L'estensione Luoghi è a conoscenza solo delle posizioni che gli sono state fornite tramite chiamate a GetNearbyPointsOfInterest.

GetLastKnownLocation (Android)

Sintassi

Di seguito è riportata la sintassi per questo metodo:

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

Esempio

Di seguito è riportato un esempio di codice per questo metodo:

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

GetLastKnownLocation (iOS)

Sintassi

Di seguito è riportata la sintassi per questo metodo:

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

Esempio

Di seguito è riportato un esempio di codice per questo metodo:

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

Cancellare i dati lato client

Cancella (Android)

Elimina i dati lato client per l'estensione Luoghi nello stato condiviso, nella memorizzazione locale e nella memoria.

Sintassi

Di seguito è riportata la sintassi per questo metodo:

public static void clear();

Esempio

Di seguito è riportato un esempio di codice per questo metodo:

Places.clear();

clear (iOS)

Elimina i dati lato client per l'estensione Luoghi in stato condiviso, archiviazione locale e memoria.

Sintassi

Di seguito è riportata la sintassi per questo metodo:

+ (void) clear;

Esempio

Di seguito è riportato un esempio di codice per questo metodo:

[ACPPlaces clear];

Imposta stato autorizzazione posizione

setAuthorizationStatus (Android)

Disponibile a partire da Places v1.4.0

Imposta lo stato dell'autorizzazione nell'estensione Luoghi.

Lo stato fornito è memorizzato nello stato Condiviso Luoghi e lo è solo per riferimento.
La chiamata di questo metodo non influisce sullo stato effettivo dell'autorizzazione di posizione per il dispositivo.

Sintassi

Di seguito è riportata la sintassi per questo metodo:

public static void setAuthorizationStatus(final PlacesAuthorizationStatus status);

Esempio

Di seguito è riportato un esempio di codice per questo metodo:

Places.setAuthorizationStatus(PlacesAuthorizationStatus.ALWAYS);

setAuthorizationStatus (iOS)

Disponibile a partire da ACPPlaces v1.3.0

Imposta lo stato dell'autorizzazione nell'estensione Luoghi.

Lo stato fornito è memorizzato nello stato Condiviso Luoghi e lo è solo per riferimento.
La chiamata di questo metodo non influisce sullo stato effettivo dell'autorizzazione di posizione per il dispositivo.

Quando lo stato dell'autorizzazione del dispositivo cambia, viene richiamato il locationManager:didChangeAuthorizationStatus: metodo del CLLocationManagerDelegate dispositivo. Dall'interno di questo metodo, è necessario trasmettere il nuovo CLAuthorizationStatus valore all' setAuthorizationStatus: API ACPPlaces.

Sintassi

Di seguito è riportata la sintassi per questo metodo:

+ (void) setAuthorizationStatus: (CLAuthorizationStatus) status;

Esempio

Di seguito è riportato un esempio di codice per questo metodo:

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

In questa pagina

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now