# Dead Simple Geolocation

<datetime class="hidden">2010-02-28T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported -->
De laatste tijd rotzooien met dit spul. [@TheCodeJunkie](http://www.twitter.com/TheCodeJunkie) gevraagd dus hier een heel eenvoudige manier om een locatie te krijgen en een kaart tonen:). Deze versie maakt gebruik van de [W3C Geolocatie API](http://dev.w3.org/geo/api/spec-source.html) op browsers die het ondersteunen (FireFox 3.5, Safari, iPhone, Opera) en valt terug naar het gebruik [Google Gears](http://code.google.com/apis/gears/api_geolocation.html) op andere browsers (inclusief IE).

Gewoon een echt dom monster op dit moment, maar wie weet, iemand zou het nuttig vinden! Ik zal later bijwerken met een aantal van de meer geavanceerde dingen die ik werk op dit gebied

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2"></script>
    <script src="Scripts/gears_init.js" type="text/javascript"></script>
    <script type="text/javascript">
        function SetLocation() {
            if (typeof (navigator.geolocation) != "undefined") {
                geo = navigator.geolocation;
                positionOptions = { maximumAge: 600000 };
            }
            else {
                if (!window.google || !google.gears) {
                returnUrl = this.location.href;
                location.href = "http://gears.google.com/?action=install&message=Gears now enabled!" +
                    "&return=" + returnUrl;
                }

                geo = google.gears.factory.create('beta.geolocation');
                positionOptions = {enableHighAccuracy:true, maximumAge: 600000};
            }
            geo.getCurrentPosition(GetMap, handleError,positionOptions);
        }
        function GetMap(position) {

            latitude = position.coords.latitude;
            longitude = position.coords.longitude;
            map = new VEMap('myMap');
            map.HideDashboard();

            map.LoadMap(new VELatLong(latitude, longitude), 15, 'h', false);
            var shape = new VEShape(VEShapeType.Pushpin, map.GetCenter()); shape.SetTitle('You are here!'); map.AddShape(shape);
        }
        function handleError(positionError) {
            alert('Attempt to get location failed: ' + positionError.message);
        }      
    </script>
</head>
<body onload="SetLocation();">
    <div id='myMap' style="position: relative; width: 1000px; height: 1000px;">
    </div>
</body>
</html>
```