Rilevamento della posizione utilizzando l'API AJAX di Google

Ci sono momenti in cui è necessario scoprire da quale parte del mondo proviene un particolare visitatore. Esistono molti provider di ricerca IP-to-Location, che offrono questo servizio a un costo ragionevole (a seconda di quanti dettagli si richiedono).

L'API di Google AJAX Maps offre questo look per te gratuito (così a lungo le tue esigenze non sono commerciali). Puoi persino utilizzare le informazioni di latitudine e longitudine restituite dall'API per tracciare la posizione dell'utente su una mappa di Google. Nifty eh? Vediamo ora un semplice esempio: rileveremo la posizione dell'utente in base al suo indirizzo IP e lo renderizzeremo su una mappa.

Prima di iniziare, potresti voler controllare la demo.

Dovrai prima ottenere una chiave API di ricerca AJAX (è gratuita, ti basta registrarti usando il tuo nome di dominio e ti verrà assegnata una chiave univoca, applicabile a tutte le pagine ospitate nel tuo dominio). Una volta pronto, avvia il tuo editor preferito. Non è necessario alcun codice lato server per poter utilizzare l'API di Maps, quindi è sufficiente un semplice documento HTML.

Innanzitutto, posizioniamo i? Ganci? nella pagina, dove appariranno la mappa e una didascalia.

L'API AJAX di Google è costituita da una raccolta di singole API. Utilizzando a

La funzione di caricamento sopra accetta il nome dell'API, la sua versione e una funzione di callback opzionale (che viene chiamata una volta che l'API di Maps ha completato il caricamento) come parametri. Nella funzione init (), definiremo innanzitutto una posizione predefinita da visualizzare sulla mappa, nel caso in cui l'API di Maps non sia in grado di decodificare l'indirizzo IP del visitatore. Poiché l'API di Maps corrisponde fondamentalmente all'indirizzo IP dell'utente in una posizione, potrebbero esserci casi in cui questa mappatura non è possibile e, quindi, la necessità di un valore predefinito.

Successivamente, controlliamo se la posizione del cliente è stata compilata dal caricatore API. Se correttamente compilato, l'oggetto google.loader.ClientLocation ha le seguenti proprietà:

  • ClientLocation.latitude
  • ClientLocation.longitude
  • ClientLocation.address.city
  • ClientLocation.address.country
  • ClientLocation.address.country_code
  • ClientLocation.address.region

Usando queste informazioni, possiamo facilmente caricare una mappa, centrata sulla posizione dell'utente.

È tutto, guardalo in azione. Come ho già detto in precedenza, le informazioni sulla posizione del client restituite da questa API non sono perfette, in quanto la mappatura IP può essere spesso complicata e potrebbe dare luogo a informazioni errate o parzialmente accurate. Mentre dovresti prendere in considerazione la possibilità di adottare una soluzione aziendale pronta per usi gravi, spero che questa API sia a portata di mano per le tue esigenze personali!