Search Results 

Results tagged “geolocation” from Nothing new here

There are many reasons why you would want to fake your location in firefox. One good reason would be "un-faking" your location on computers with no wlan cards, e.g. at work, or where there's no data available for the WLANs around you. All you need for faking is a text file (eg. /home/username/.mynewlocation.txt) somewhere on your computer with the following content:
{"location":{"latitude":50.941863,"longitude":6.958374, "accuracy":20.0}}

The path in Firefox to this file is:
file://home/username/.mynewlocation.txt

Type about:config in your location bar, confirm the warning, search for geo.wifi.url, and replace the old url (https://www.google.com/loc/json) with your new one from above. Restart firefox, enjoy your new location :-)

Explanation:
latitude/longitude => the location you want to have, go to google maps, select location, click on "Link" and use the values from the ll= parameter
accuracy => the accuracy you want to announce, in meters.

This is just a quick JS example of connecting Openstreetmap, through Cloudmade, with the new geolocation in Firefox 3.5. Now all I need is a great idea how to make something much more useful out of these two :-)



1. Click 'Locate me'.
2. in Firefox 3.5 allow location sharing by clicking "Share location"

Source

The code is uncommented, since it's straight forward, once you had a look at the CloudMade docs
<button onclick="locateMe();" src="">Locate me</button><br/>
<div id="pugio-osm" style="width: 460px; height: 400px"></div>
<script type="text/javascript" src="http://tile.cloudmade.com/wml/latest/web-maps-lite.js"></script>
<script type="text/javascript">
  var cloudmade = new CM.Tiles.CloudMade.Web({key: '7f203ab42017580cb27688d55067ca06', styleId:997});
  var map = new CM.Map('pugio-osm', cloudmade);
  map.addControl(new CM.LargeMapControl());
  map.setCenter(new CM.LatLng(0, 0), 1);

  function locateMe()
  {
    if (navigator.geolocation)
    {
    //yes, the location in Ff3.5 is basically a one-liner
      navigator.geolocation.getCurrentPosition(function(position)
      {
       //position holds our coordinates
        var myLoc = new CM.LatLng(position.coords.latitude, position.coords.longitude);
        
        var myMark = new CM.Marker(myLoc, {
          title: "You are here"
        });
        map.setCenter(myLoc, 15);
        map.addOverlay(myMark);
        myMark.openInfoWindow(
        "<a href=\"http://www.flickr.com/search/?a=14&b="
        + map.getBounds().getSouthWest().lng() 
        + ","
        + map.getBounds().getSouthWest().lat()
        + "," + map.getBounds().getNorthEast().lng()
        + "," + map.getBounds().getNorthEast().lat()
        + "&z=t\" target=\"_blank\">Photos on Flickr</a>");
      });
    }
    else
    {
      alert("Sorry, your browser does not provide an location API\nor you disabled it (geo.enabled=false in Firefox 3.5).");
    }
  }
</script>