Sto usando google maps e restituisco html / lat / long dal mio database MySQL
Attualmente
- Un utente seleziona una categoria di attività, ad es. "Produzione video".
- una chiamata ajax viene inviata a un controller CodeIgniter
- il controller quindi interroga il db e restituisce i seguenti dati tramite JSON
- Lat / Long dell'indicatore
- HTML per la finestra popup
- si tratta di circa 34 righe nel database su due tabelle per azienda
- la chiamata ajax riceve questi dati e quindi traccia l'indicatore insieme all'html sulla mappa
I dati restituiti dal controller sono un grosso oggetto json ... Questo viene fatto per tutte le aziende esistenti nella categoria Produzione video (attualmente circa 40 aziende). Come puoi vedere, l'estrazione di questi dati per più categorie (100 di aziende) può essere molto onerosa sul server.
La mia domanda è
Sarebbe più vantaggioso modificare il flusso del processo in questo modo:
- un utente sceglie una categoria di attività, ad es. "Produzione video".
- una chiamata ajax viene inviata a un controller CodeIgniter
- il controller quindi interroga il database per le informazioni sulla base della posizione
- latitudine / longitudine
- livello (usato per cambiare il colore dell'icona dell'indicatore)
- Questa sarebbe una singola riga per azienda con diverse colonne
- la chiamata ajax riceve questi dati e quindi traccia il marker sulla mappa
- quando l'utente fa clic su un marker una chiamata ajax viene inviata a un controller CodeIgniter
- il controllore interroga il database per l'HTML e i dati aggiuntivi basati su business_id
e in caso negativo, quali sono alcuni suggerimenti migliori per questo problema?
In sintesi, questo significa piuttosto che includere l'HTML e i dati aggiuntivi insieme per ogni azienda, solo inviando informazioni minime sulla posizione e quindi richiedere nuovamente tali informazioni quando viene fatto clic su ogni marcatore aziendale.
Potenziali lati negativi
- tempi di caricamento più lunghi quando un utente fa clic sull'icona di un indicatore
- altro codice ??
- Altre query nel database