Help with SimpleGeo Javascript SDK

121 Views Asked by At

I'm new to Javascript and I'm trying to eventually make something that will get the users location in using the getLocation API with HTML5, and use simpleGeo to get the building of the coordinates.

So far I'm trying to get SimpleGeo working and I have this:

        var client = new simplegeo.ContextClient('YUpXKUcaTr2ZE5T5vkhaDRAXWbDbaZts');

    function displayData(err, data) {

        if (err) { 
            console.error(err);
        } else {
            console.log(JSON.stringify(data));
        }

    }

client.getLocation({enableHighAccuracy: true}, function(err, position) {
if (err) {
    // Could not retrieve location information. Check err for more information
} else {
    // Latitude and longitude available in position.coords


        var lat = position.coords.latitude;
        var lon = position.coords.longitude;
        $('#header').html('<p>your latitude is: ' + lat + '. And your longitude is: ' + lon + '.</p>');



}
});

client.getNearbyAddress(37.765850, -122.437094), function(err, position) {
if (err) {
$('#header').html('<p>Sorry we couldn't locate an address.</p>)
} else {

$('#header').html('<p>Your Street number is ' + street_number + '</p>');


}
});

However this says unexpected identifier in the JS console in Chrome. Any help would be appreciated. :)

1

There are 1 best solutions below

0
On

I am actually the Developer Advocate @ SimpleGeo. Your function displayData doesn't look like it is doing anything. Also var street_number isn't defined. Are you looking to get the user's address?

Here is an example that returns the user's neighborhood:

<script type="text/javascript"> 
var client = new simplegeo.ContextClient('YOUR_JSONP_TOKEN');

$(document).ready(function() {

   client.getLocation({enableHighAccuracy: true}, function(err, position) {

       // get the user's context for the found location
       client.getContext(position.coords.latitude, position.coords.longitude,
       function(err, data) {

           if (err)
           (typeof console == "undefined") ? alert(err) : console.error(err);

           else {

               for (var i = 0, ii = data.features.length; i < ii ; i++) {

                   // switch on the category
                   switch(data.features[i]["classifiers"][0]["category"]) {

                       // Return the Neighborhood as an example
                       case "Neighborhood":
                $("#neighborhood").val(data.features[i]["name"]);
                       break;
                   }
               }
           }
       });
   });
});
</script>