Геолокация и jQuery - не может публиковать результаты, используя ajax - PullRequest
2 голосов
/ 17 октября 2011

В настоящее время я работаю над проектом по созданию сайта с учетом местоположения.По сути, пользователь заходит на страницу, и его местоположение определяется с помощью метода HTML5, а затем с помощью jQuery, местоположение публикуется на странице, которая сохраняет местоположение / адрес в сеансе codeigniter, но если они хотят обновить свое местоположениеили измените другое местоположение (т. е. они хотят использовать свой рабочий адрес в качестве местоположения вместо своего нынешнего адреса), появится поле цвета jQuery, которое отображает и позволяет им вводить пользовательский адрес.

Все работает без нареканийчтобы получить исходное местоположение, но когда я пытаюсь сохранить обновленное местоположение, я получаю сообщение об ошибке " Uncaught TypeError: Object [object DOMWindow] не имеет метода 'lat' ", который затем Google Chrome называетошибка не в jQuery, а в файле API Карт Google.Любые предложения?

jQuery('.inputsubmit').click(function() {

//Takes values from user submitted fields and parses them into an address string
var street = jQuery('.inputaddress').val();
var city = jQuery('.inputcity').val();
var state = jQuery('.inputstate').val();


var address = street +" "+ city +", " +state;

   geocoder = new google.maps.Geocoder();
   var geocoderresult= geocoder.geocode({'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
           var newlocation = results[0].geometry.location;

               //Posts coordinates and address string to a CodeIgniter function to update users session information
               jQuery.post("somepage", {location: newlocation, address: address},function(data) {
             alert("Data Loaded: " + data);
           });

       } else {
          alert("Geocoder failed due to: " + status);
       }
    });

});

Я перепробовал все, что мог придумать, чтобы заставить пост работать.Весь код работает до настоящего момента, и я закомментировал строку сообщения, и все работает правильно.Это одна из основных функций нашего веб-сайта, обеспечивающая мгновенные и быстрые результаты в зависимости от местоположения.

Спасибо!

1 Ответ

0 голосов
/ 10 апреля 2012

Я думаю, вам нужно загрузить свой код Google API на somepage в дополнение к исходной странице. Поскольку $.POST не может найти объект lat, кажется, что файл geolocation.js не включен в somepage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...