Icono del sitio Pixelco Tech

Tutorial – Cómo usar la API de geolocalización de Firefox

Tutorial - Firefox Gelocalization APIDesde las versiones 3.5 en adelante, el navegador Firefox incorpora una API de geolocalización. La finalidad de ésta es la de proveer los datos de geolocalización a una aplicación web, así se puede mostrar un determinado producto, cambiar el idioma/dialecto, etc.

Detectando si el navegador soporta geolocalización

Primero hay que detectar si se trata de una navegador que soporta geolocalización, para ello hay que usar un código Javascript que se agrega en la sección HEAD del HTML de la página:

<script type="text/javascript">
function getLocation() {
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
$('latitude').set('text',position.coords.latitude);
$('longitude').set('text',position.coords.longitude);
$$('.locationItem').each(function(item) {
item.set('text',position.address[item.get('id')]);
});
});
}
else {
alert('Su navegador no soporta geolocalización');
}
}
</script>

Luego creamos un contenedor para mostrar los datos:

<div id="content">
<div id="ejemplo">
<h2>Ejemplo de Geolocalizaci&oacute;n</h2>
<p>La informaci&oacute;n mostrada es aproximada.</p>
<ul>
<li>Latitude: <p id="latitude"></p></li>
<li>Longitud:<p id="longitude"></p></li>
<li>Calle:<p class="locationItem" id="street"></p></li>
<li>Calle n&uacute;m:<p class="locationItem" id="streetNumber"></p></li>
<li>Ciudad:<p class="locationItem" id="city"></p></li>
<li>Departamento:<p class="locationItem" id="region"></p></li>
<li>Pa&iacute;s:<p class="locationItem" id="country"></p></li>
<li>C&oacute;digo pa&iacute;s:<p class="locationItem" id="countryCode"></p></li>
<li>C&oacute;digo postal:<p class="locationItem" id="postalCode"></p></li>
</ul>
<p><button onClick="getLocation();">Localizame</button></p>
</div>
</div>

Ahora hay que agregar el código Javascript de la función getLocation() que es la que conseguirá los datos de geolocalización, para este ejemplo utilicé también la biblioteca Mootools:

<script type="text/javascript" src="js/mootools-1.2.4-core-nc.js"></script>*
<script type="text/javascript">
function getLocation() {
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
$('latitude').set('text',position.coords.latitude);
$('longitude').set('text',position.coords.longitude);
$$('.locationItem').each(function(item) {
item.set('text',position.address[item.get('id')]);
});
});
}
else {
alert('Su navegador no soporta geolocalización');
}
}
</script>

Como ven, implementar la API de Firefox para geolocalización es muy sencilla, además ser muy útil.

Nota: con fines ilustrativos, decorativos y artísticos, en este post se utiliza una captura de Google Maps y una captura de la página de Mozilla.

Tutorial – API de geolocalización de Firefox

Más información (en inglés): developer.mozilla.org/en/using_geolocation
Descargar: Descargar demo

Salir de la versión móvil