Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    Geocoding di Google Maps

    Ciao a tutti,
    ho una serie di negozi caricati su un db fatto così:

    id | insegna | indirizzo | latitudine | longitudine

    Quindi per ogni record so perfettamente dove localizzarlo sulla google maps.

    Se un utente vuole cercare tutti i negozi presenti in piemonte, posso fare una ricerca in base alle coordinate della regione piemonte? Idem se un utente vuole vedere tutti i negozi presenti in Francia o a Madrid - esiste un modo per risalire alle coordinate dei confini di una città, nazione, provincia ecc?

    Mi sfugge questa cosa... vedo che molti portali usano sempre più questo sistema (vedi il bellissimo airbnb.com)

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    http://code.google.com/intl/it-IT/ap...ml#findnearsql

    nel fantastico tutorial di google viene spiegato esattamente come ottenere ciò che cerchi

  3. #3
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da diabolikk
    http://code.google.com/intl/it-IT/ap...ml#findnearsql

    nel fantastico tutorial di google viene spiegato esattamente come ottenere ciò che cerchi
    ti riferisci a questa query?

    SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;

    qui ti dice come trovare tutti i marker partendo da un punto per un raggio di 25Km; a me interessa trovare tutti i marker in Francia piuttosto che a Madrid o in Piemonte.

    Sbaglio io, o non c'e' traccia di tutto questo?

  4. #4
    hai correttamente salvato le coordinate geografiche: queste ti permetteranno di eseguire query in base alla distanza come quella che ti è stata mostrata.

    se però hai esigenze come quelle descritte ti conveniva salvare anche altri dati come provincia, regione, cap, nazione in campi della tabella dedicati.

    In quel caso ciò che vuoi fare diventa semplice.

    Con la situazione attuale saresti costretto a selezionare tutti i record presenti nella tabella (che non è una cosa "bella") e in base alle coordinate di ognuno di essi risalire ai dati provincia, regione, etc etc in base alle API di google maps (per ogni indirizzo!!) e fare le dovute verifiche.

    Sul mio blog puoi trovare qualcosa che potrebbe interessarti:
    http://www.miniscript.it/articoli/63...ogle_maps.html
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  5. #5
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da oly1982
    Sul mio blog puoi trovare qualcosa che potrebbe interessarti:
    http://www.miniscript.it/articoli/63...ogle_maps.html
    Grazie per la risposta;
    sto usando uno script molto simile al tuo ma purtroppo ho riscontrato diversi problemi.

    Il portale deve raccogliere iscrizioni da ovunque nel mondo; quindi devo far scegliere in fase di iscrizione il luogo nel quale si trova l'attività - I problemi maggiori con il geocoding si riscontrano con le diverse lingue - inoltre in molti casi, con città particolari come Londra o NY (o le steppe della Russia) Google non restituisce i dati necessari. Per NY non riesco a farmi restituire i quartieri (manatthan o brooklyn), altre volte non restituisce la provincia ecc.
    esempio: se richiedo la decodifica in inglese mi resstituisce USA - se la rischiedo in italiano mi restituisce Stati Uniti....

    Probabilemente le api premier a pagamento sono più coerenti e precise di quelle free... ma costano un botto! E per un portale nuovo che è tutta una scommessa, non si possono spendere tanti soldi.

    In alternativa ci sarebbe il db di geonames.org che pesa un giga e ti condanna a continui aggiornamenti... Google sarebbe l'ideale per codificare per bene gli iscritti in fase di iscrizione (nazione, città, provincia, regione, quartiere, cap, sigla nazione, indirizzo).

    Cosa mi consigli?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    @henry78

    no, se continui a leggere c'è la parte "Searching near a geocode", infatti come puoi vedere anche dall'immagine finale l'utente inserisce un "address" e cerca i punti vicini a quell'indirizzo.

    puoi vedere come l'ho trasformato io per i punti di distribuzione di un giornale free press qui

    http://www.primapaginabat.it/phpsqlsearch_map.html

  7. #7
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da diabolikk
    @henry78

    no, se continui a leggere c'è la parte "Searching near a geocode", infatti come puoi vedere anche dall'immagine finale l'utente inserisce un "address" e cerca i punti vicini a quell'indirizzo.

    puoi vedere come l'ho trasformato io per i punti di distribuzione di un giornale free press qui

    http://www.primapaginabat.it/phpsqlsearch_map.html
    Si, ma come consigliavi anche tu, conviene memorizzare in fare di iscrizione i campi "comune", "nazione", "provincia", "cap" ecc... altrimenti diventa molto laborioso estrarre tutte le attività che si trovano in un determinato comune.

    Mi chiedo come facciano portali come Venere o Booking; riescono a gestire le url con i nomi delle località in diverse lingua... venice, venezia, venedig ecc... mi rifiuto di credere che abbiano un mega db con i nomi delle località del mondo in tutte le lingue... o no? Tu che dici?

  8. #8
    hai correttamente salvato le coordinate geografiche: queste ti permetteranno di eseguire query in base alla distanza come quella che ti è stata mostrata.
    good

  9. #9
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da caaraa
    hai correttamente salvato le coordinate geografiche: queste ti permetteranno di eseguire query in base alla distanza come quella che ti è stata mostrata.
    si ma il problema a questo punto è risalire correttamte ai dati:

    nazione, regione, citta, quartiare, indirizzo

    per ogni nuovo iscritto in qualsiasi luogo del mondo; francamente con il geocoding di google maps in taluni casi restituisce dati omogenei ed è un gran problema

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 © 2025 vBulletin Solutions, Inc. All rights reserved.