Помогите с SimpleGeo Javascript SDK - PullRequest
       21

Помогите с SimpleGeo Javascript SDK

0 голосов
/ 25 сентября 2011

Я новичок в Javascript и пытаюсь в конечном итоге сделать что-то, что позволит определить местоположение пользователей с помощью API getLocation с HTML5, и использовать simpleGeo для построения координат.

Пока что я пытаюсь заставить SimpleGeo работать, и у меня есть это:

        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>');


}
});

Однако это говорит о неожиданном идентификаторе в консоли JS в Chrome.Любая помощь будет оценена.:)

1 Ответ

0 голосов
/ 26 сентября 2011

Я на самом деле адвокат разработчика @ SimpleGeo.Ваша функция displayData не выглядит так, как будто она ничего не делает.Также var street_number не определен.Вы ищете адрес пользователя?

Вот пример, который возвращает окрестность пользователя:

<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>
...