Ricerca geografica
Aggiungi un campo geopoint a un modello e puoi chiedere quali record sono più vicini a un punto, ordinati per distanza. Le query lavorano con punti e raggio.
Campi geopoint
Un campo geopoint contiene una latitudine e una longitudine, e la console lo modifica con un selettore su mappa. Un modello può avere più campi di questo tipo, ciascuno un punto con un nome distinto. Il punto viene indicizzato nella stessa transazione della scrittura del record, quindi un record si trova per posizione non appena è salvato.
I più vicini a un punto o a un record
searchByLocation prende una latitudine e una longitudine e restituisce i record vicini a quel punto. findNearbyRecords prende un record e restituisce quelli più vicini, escludendo il record stesso. Entrambe possono essere limitate a un modello. I risultati arrivano dal più vicino, e ognuno riporta la sua distanza in metri insieme a id, chiave del modello, chiave naturale e contenuto del record.
Raggio e paginazione
Il raggio è facoltativo. Se c'è, i risultati si fermano a quella distanza. Se manca, la query restituisce i record più vicini ovunque siano. I risultati sono paginati con cursore, solo in avanti, 50 per pagina per impostazione predefinita. Una latitudine fuori dall'intervallo da -90 a 90 o una longitudine fuori da -180 a 180 viene rifiutata.
Regole di accesso e record esistenti
Una query viene eseguita per il chiamante con le regole di accesso a livello di riga. Aggiungere un campo geopoint a un modello che ha già dei record non indicizza le righe esistenti. foir geometry ha comandi che elencano i record mancanti dall'indice e li ricostruiscono.
Solo punti e raggio
Aree, linee e riquadri di delimitazione non sono supportati.
Leggi il dettaglio
Il riferimento della CLI documenta i comandi geometry: cercare vicino a un punto, trovare i record più vicini a un altro e ricostruire i record non ancora indicizzati.