Serge Stikine's stuff

Just another WordPress site

HTML5 geolocation code

Short HTML5 code which will locate you and show your location on Google map.


<section id=”wrapper”>

<meta name=”viewport” content=”width=620″ />

//
// ]]>
<article>

Finding your location: checking…
</article>
<script>
function success(position) {
var s = document.querySelector(‘#status’);

 

if (s.className == ‘success’) {
// not sure why we’re hitting this twice in FF, I think it’s to do with a cached result coming back
return;
}

s.innerHTML = “found you!”;
s.className = ‘success’;

var mapcanvas = document.createElement(‘div’);
mapcanvas.id = ‘mapcanvas’;
mapcanvas.style.height = ‘400px’;
mapcanvas.style.width = ‘560px’;

document.querySelector(‘article’).appendChild(mapcanvas);

var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeControl: false,
navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById(“mapcanvas”), myOptions);

var marker = new google.maps.Marker({
position: latlng,
map: map,
title:”You are here! (at least within a “+position.coords.accuracy+” meter radius)”
});
}

function error(msg) {
var s = document.querySelector(‘#status’);
s.innerHTML = typeof msg == ‘string’ ? msg : “failed”;
s.className = ‘fail’;

// console.log(arguments);
}

if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
error(‘not supported’);
}

</script>

Advertisements

Written by Stikine

February 26, 2012 at 09:33

%d bloggers like this: