Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    36

    Query Mysql con raggio dato le coordinate: come fare?

    Salve ragazzi,

    ho una tabella che contiene i dati di alcuni locali. in due campi di questa tabella ho le coordinate.

    Adesso data una posizione( Lat e Long) come faccio ad estrapolare i locali che sono dentro un raggio tipo di 1km dalla posizione data?

    In poche parole devo creare una ricerca che mi restituisce i locali vicino all'indirizzo che inserisco.

    Grazie anticipatamente.

  2. #2
    Utente di HTML.it L'avatar di Angarat
    Registrato dal
    Nov 2003
    Messaggi
    157
    una cosa del genere la avevo fatta alcuni anni fa, essenzialmente quando ti danno un indirizzo tu puoi calcolarti la long e la lat dello stesso, di conseguenza quando fai la query per estrarre i risultati devi partire da quelle coordinate ed aggiungere e sottrarre un coefficente sia nella latitudine sia nella longitudine per crearti un quadrato.

    al tempo per la latitudine il mio coefficente era di 0.10 (da sommare e sottrarre) invece per la longitudine il mio coefficente era di 0.15 (da sommare e sottrarre), ma non so dirti a quanto corrisponde in metri.

    altro problema che mi si era presentato era la possibile sovrapposizione sulla mappa (se la usi) dei "segnaposto", anche in quel caso devi realizzarti una funzione di controllo che modifichi la posizione sopsnadolo in una delle 8 posizioni attorno al primo segnaposto e cosi via al secondo giro (occupati tutti gli 8 posti) saranno 16 le possibili alternative per evitare la sovrapposizione delle icone.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    36
    Quote Originariamente inviata da Angarat Visualizza il messaggio
    una cosa del genere la avevo fatta alcuni anni fa, essenzialmente quando ti danno un indirizzo tu puoi calcolarti la long e la lat dello stesso, di conseguenza quando fai la query per estrarre i risultati devi partire da quelle coordinate ed aggiungere e sottrarre un coefficente sia nella latitudine sia nella longitudine per crearti un quadrato.

    al tempo per la latitudine il mio coefficente era di 0.10 (da sommare e sottrarre) invece per la longitudine il mio coefficente era di 0.15 (da sommare e sottrarre), ma non so dirti a quanto corrisponde in metri.

    altro problema che mi si era presentato era la possibile sovrapposizione sulla mappa (se la usi) dei "segnaposto", anche in quel caso devi realizzarti una funzione di controllo che modifichi la posizione sopsnadolo in una delle 8 posizioni attorno al primo segnaposto e cosi via al secondo giro (occupati tutti gli 8 posti) saranno 16 le possibili alternative per evitare la sovrapposizione delle icone.

    Il mio problema è proprio sapere quale coefficente usare. Vorrei far delle ricerca con raggio selezionabile, tipo 1km 10km e 50km

  4. #4
    Utente di HTML.it L'avatar di Angarat
    Registrato dal
    Nov 2003
    Messaggi
    157
    fossi in te farei delle prove, diciamo che per quel che ricordo il raggio era tra i 10 e 15 km
    (...sono andato a sbirciare quel vecchio codice...)
    se poi vuoi una mappa (non ho capito se la usi oppure no) che sia coerente con i tuoi risultati in base al raggio devi modificare la zoomata

  5. #5
    Dai un'occhiata QUI
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,887
    Ciao,
    non è possibile utilizzare direttamente le coordinate (immagino di google maps) con le distanze, sarebbe come confrontare patate e mele.
    Le coordinate sono misure angolari, le distanze no.

    Per iniziare puoi guardare questo:
    https://www.google.it/#q=mysql+spati...ns+google+maps
    think simple think ringo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.