La scelta dei clienti da mostrare sulla mappa può essere basata su filtri personalizzati, definiti da parametri GEO_GRUPPO, GEO_GRUPPO2 ecc… il cui valore deve essere una stringa JSON (formattato come riga singola senza ritorni a capo).
Filtro clienti da query database
La sintassi di questi parametri è JSON e può definire un campo database, specificando la query per ottenere tutti i possibili valori e la query per ottenere i soggetti di un particolare valore, come da esempio seguente:
{
"tipo":"query",
"titolo":"Provincia",
"elenco":"SELECT DISTINCT provincia FROM soggetti WHERE coordinate IS NOT NULL AND coordinate <> ''",
"soggetti":"SELECT * FROM soggetti WHERE provincia=? AND coordinate IS NOT NULL AND coordinate <> ''"
}
Ad esempio se in fase di esportazione ho impostato il gruppo visita nel “campo2” del soggetto potrò usare questa stringa JSON
{
"tipo":"query",
"titolo":"Giorno visita",
"elenco":"SELECT DISTINCT campo2 FROM soggetti WHERE coordinate IS NOT NULL AND coordinate <> ''",
"soggetti":"SELECT * FROM soggetti WHERE campo2=? AND coordinate IS NOT NULL AND coordinate <> ''"
}
Altri campi utili per questo tipo di filtro “agente” (nel caso il titolare voglia vedere i clienti filtrati per singolo agente) “campo1”, “campo2”, “campo3”.
Filtro clienti da pattern
Altrimenti è possibile specificare un filtro di tipo pattern, che però sarà più lento in quanto per ottenere i possibili valori deve valutare il pattern su ognuno dei soggetti o sedi geolocalizzati:
{
"tipo": "pattern",
"titolo": "Regione",
"pattern": "[prov;tabella=regioni]"
}