Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по API Google Maps

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Ошибка передачи координат по ajax
Ammiak
Отправлено: 18 Августа, 2013 - 15:04:36
Post Id


Частый гость


Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Здравствуйте, получаю координаты объектов стандартными api-функциями google-карт, при дальнейшей их передаче ajax'ом в консоле выдается ошибка
Цитата:

TypeError: this is undefined

Проблема наверняка в формате передачи координат, но правильно их передать пока не получается. Вот код:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var geocoder = new google.maps.Geocoder();
  3.  
  4. function codeAddress(address) {
  5.      geocoder.geocode({'address': address}, function(results, status) {
  6.                 if (status == google.maps.GeocoderStatus.OK) {
  7.                      
  8.                     $.ajax ({    
  9.                     type: "POST",
  10.                     url: '/script.php',
  11.                     data: {coords:results[0].geometry.location}, //скорее всего здесь ошибка, вид передавемых координат: (54.162813, 37.59389999999996) и т.д.
  12.                     cache: false,
  13.                     success: function() {
  14.                        
  15.                     }
  16.             });
  17.                
  18.                 }
  19.          
  20.     });
  21.     }
  22.  

(Отредактировано автором: 18 Августа, 2013 - 15:06:29)

 
 Top
DeepVarvar Супермодератор
Отправлено: 18 Августа, 2013 - 15:53:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Проблемы вообще нет.
Объект геокодера нельзя передать в виде JSON,
т.к. там присутствуют одна или более ф-ций,
которые невозможно корректно конвертировать в натив-код.
Это такой способ защиты от особо хитрых.
Если нужен объект координат - вперед делать запрос на API.
Все!
 
 Top
Ammiak
Отправлено: 18 Августа, 2013 - 16:20:07
Post Id


Частый гость


Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




DeepVarvar
а можно небольшой пример? просто нужно каким-то образом передать эти координаты в php-скрипт
 
 Top
Panoptik
Отправлено: 18 Августа, 2013 - 16:35:20
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




там просто нужно дернуть функции этого объекта и они вернут координаты
вот работающий пример
CODE (javascript):
скопировать код в буфер обмена
  1. geocoder.geocode( {
  2.                     'address': request.term
  3.                 }, function(results, status) {
  4.                     response($.map(results, function(item) {
  5.                         return {
  6.                             latitude: item.geometry.location.lat(),
  7.                             longitude: item.geometry.location.lng()
  8.                         }
  9.                     }));
  10.                 })


-----
Just do it
 
 Top
Ammiak
Отправлено: 18 Августа, 2013 - 16:47:59
Post Id


Частый гость


Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Panoptik спс опробую чуть позже отпишусь
(Добавление)
да, все работает, большое спасибо +1)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB