Localizzazione su mappa utenti con log in

di il
1 risposte

Localizzazione su mappa utenti con log in

Buongiorno a tutti. Avrei bisogno di un piccolo chiarimento. Da poco ho iniziato a creare pagine dinamiche utilizzando php. Vorrei creare una pagina dove un utente, dopo aver fatto il login in, riesca a visualizzare sulla mappa anche tutte le altre posizioni degli utenti connessi con il loro nome utente. Al momento ho creato una pagina che, utilizzando le api di Google maps con codice JavaScript, mostra solo la posizione dell utente che ha fatto log in con il classico punto rosso. Non riesco ad andare oltre. Come potrei fare?? Grazie

1 Risposte

  • Re: Localizzazione su mappa utenti con log in

    Dovresti prima aver memorizzato in un elenco gli utenti connessi con la loro relativa posizione prima di poterli mostrare ad un singolo utente.
    Una soluzione potrebbe essere utilizzare un database nel quale tenere una semplice tabella aggiornata degli utenti online: la tabella ideale prevede due campi nome utente e posizione; al login di un utente con JS acquisisci la posizione e con una funzione AJAX la inoltri insieme al nome utente ad una pagina php che provvederà a caricare le informazioni ricevute nella tabella del db; al logout di un utente è necessario rimuovere il relativo record dato che la tabella tiene memoria dell'utenza online.
    Ora in uno script php basta connettersi al database ed inoltrare una query (SELECT * FROM nome_tabella per ottenere la tabella con tutti i nomi utente e relative posizioni e quindi poterle mostrare ad un singolo utente.

    ps: questa mi è venuta in mente al volo ed indica a grandi (se non grandissime) linee una possibile soluzione ma c'è molto da rivedere, ad esempio non credo sia necessario dover rimuovere un record ad ogni logout, se il sito ha molti utenti diventa un'operazione un pò pesante; forse sarebbe meglio tenere una tabella con le relative utenze con un campo da utilizzare come flag che indica se l'utente è online oppure offline ed aggiornare la posizione ad ogni login.
Devi accedere o registrarti per scrivere nel forum
1 risposte