Google Maps Api Geocoding 602-ая ошибка

Слава Шевцов
На сайте с 23.07.2005
Offline
370
1302

Есть программа на С под Linux. Она посылает в Google Maps API Geocoder запрос типа "Манежная площадь, 1А, Москва" и надеется получить координаты этого места. Запрос выглядит так:

В ответ отдаётся:

HTTP/1.0 200 OK
Cache-Control: private
Last-Modified: Fri, 16 Nov 2007 22:11:04 GMT
Content-Type: text/plain; charset=UTF-8; charset=ISO-8859-1
Set-Cookie: PREF=ID=02bc3556afb2800c:TM=1195251064:LM=1195251064:S=IAV3ZqmxXHJAOGM3; expires=Sun, 15-Nov-2009 22:11:04 GMT; path=/; domain=.google.com
Server: mfe
Date: Fri, 16 Nov 2007 22:11:04 GMT
Connection: Close

602,0,0,0

То есть адрес не существует (602 ошибка). Если ссылку

указать в браузере - выдаёт правильные координаты точки. Что я не так делаю? Где править ДНК?

Неизменность точки зрения неизменно порождает иллюзию понимания.
Shtogrin
На сайте с 02.11.2006
Offline
95
#1

программа правильно адрес передает (urlencode), там текст русский, пробелы

в FF тоже 602,0,0,0

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
Слава Шевцов
На сайте с 23.07.2005
Offline
370
#2
Shtogrin:
программа правильно адрес передает (urlencode), там текст русский, пробелы

Вроде правильно. Я в send() пихаю lpszRequest в urlencode-ном виде. То есть строка полностью соответствует записанной выше. Сам код:

if ( connect(sockfd, (struct sockaddr*)&dest, sizeof(dest)) != 0 )

return 0;

send(sockfd, lpszRequest, strlen(lpszRequest), 0);
memset(lpszBuffer, uBufferLen*sizeof(char), 0);
bytes_read = recv(sockfd, lpszBuffer, uBufferLen*sizeof(char), 0);
close(sockfd);

В чём дело - непонятно. Где-то что-то упустил. А вот где и что 😕

Shtogrin:
в FF тоже 602,0,0,0

Спасибо. У меня в IE 200,6,55.755595,37.616287 (координаты правильные). Видимо, не так закодировал.

Shtogrin
На сайте с 02.11.2006
Offline
95
#3

Перевел русский текст в utf-8 и заработало

Слава Шевцов
На сайте с 23.07.2005
Offline
370
#4

Спасибо, буду искать функцию-конвертер Windows-1251 -> Utf-8

Shtogrin
На сайте с 02.11.2006
Offline
95
#5

библиотека наверно уже стоит в Линуксе

http://www.gnu.org/software/libiconv/

Слава Шевцов
На сайте с 23.07.2005
Offline
370
#6
Shtogrin:
библиотека наверно уже стоит в Линуксе
http://www.gnu.org/software/libiconv/

Уродская схема передачи параметров у неё. Но всё равно спасибо - помогло.

Bricius
На сайте с 02.10.2006
Offline
56
#7

А есть ли что-то подобное на php? У меня есть группа обьектов с полными адресами и нужно получить их местоположения. Возможно ли это автоматизировать или нужно брать каждый обьект, искать его координаты и их уже сохранять в базу данных?

Так же мне нужно, чтобы все имеющиеся обьекты показывались на карте одновременно.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий