Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    script per calcolo geolocalizzazione

    Ciao a tutti, partendo da una tabella con 1000 record con indirizzo, città, provincia... posso processare uno script che utilizzi i servizi Google Maps per il salvataggio di lontitudine e latitudine?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    certo che puoi farlo, ti consiglio di inserire in tabella prima anche il cap.
    Codice considerando che siano tutti indirizzi italiani

    Poi fai una query del tipo
    Codice PHP:
    SELECT idviaindirizzocivicocapcittaprovincia FROM tabella 
    cicli il recordset e nel while ricavi longitudine e latitudine:

    Codice PHP:
    $tmpIndirizzo $rs['via']. " " .$rs['indirizzo']. " " .$rs['civico']. ", " .$rs['cap']. " " .$rs['citta']. " " .$rs['provincia']. ", Italia";
    $indirizzo urlencode($tmpIndirizzo);
    $json file_get_contents("http://maps.google.com/maps/api/geocode/json?address=" .$indirizzo"&sensor=false&language=it");
    $decoded json_decode($json);
    $lat $decoded->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
    $long $decoded->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};

    # qua fai la query di aggiornamento del record con latitudine e longitudine trovati 

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Ottimo!!!

    Grazie per l'aiuto!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Credo che la tua versione sia relativa alle vecchie API, ho provato con le nuove

    $queryMap = urlencode($tmpQueryMap);
    $json = file_get_contents("http://maps.googleapis.com/maps/geo?q=" .$queryMap. "&key=XXXX&output=json&sensor=false&language=i t");
    $data = json_decode($json);
    $latitude = $data->results[0]->geometry->location->lat;
    $longitude = $data->results[0]->geometry->location->lng;


    Ma non sembra calcolare lati e longi

    Cosa sbaglio?

    Grazie

  5. #5
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    non mi ricordo quale versione di API sia ... ma ti garantisco che funziona perfettamente (lo utilizziamo per geolocalizzare nel nostro gestionale del lavoro )

    verifica cosa ti restituisce con un print_r

    codice:
    print_r($decoded)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Ma non bisogna passare la key alle API??

    :-(

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    stdClass Object ( [results] => Array ( [0] => stdClass Object ( [address_components] =>..... RANGE_INTERPOLATED [viewport] => stdClass Object ( [northeast] => stdClass Object ( [lat] => 45.721096030291 [lng] => 8.6177958302915 ) [southwest] => stdClass Object ( [lat] => 45.718398069708 [lng] => 8.6150978697085 ) ) ) [partial_match] => 1 [types] => Array ( [0] => street_address ) ) ) [status] => OK ) 45.7197535

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    OVER_QUERY_LIMIT

    dopo qualche record aggiornato :-(((

    (specifico che lo stesso script ieri non funzionava nemmeno)

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Risolto!! Ho inserito uno sleep!

    Thanks

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.