# Dead Simple Geolocation

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

<!-- category -- mostlylucidcouk, Imported -->
Att strula runt med det här sent, [@TheCodeJunkie](http://www.twitter.com/TheCodeJunkie) begärde det så här är ett riktigt enkelt sätt att få en plats och visa en karta :). [W3C Geolocation API](http://dev.w3.org/geo/api/spec-source.html) på webbläsare som stöder den (FireFox 3.5, Safari, iPhone, Opera) och faller tillbaka till att använda [Googles redskap](http://code.google.com/apis/gears/api_geolocation.html) på andra webbläsare (inklusive IE).

Bara ett riktigt dumt prov just nu men vem vet, någon kanske tycker att det är användbart! Jag kommer att uppdatera senare med några av de mer avancerade saker jag arbetar på i detta område

```
<!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>
```