Клуб API Карт

геотаргетинг в геокодинге

nir0-reg
10 ноября 2010, 07:53

Задача: сайт выпускается для >15 городов, необходимо при входе пользователя определять его местонахождение, и отрисовывать либо сайт текущего города, либо города, ближайшего по координатам

текущее решение: при входе пользователя отрисовывается страница с надписью "секундочку, определяем ваше местоположение", в фоне открывается js геотаргетинг, как только координаты определяются, js редирект с найденными параметрами даёт серверу необходимые название города, широту и долготу пользователя. сервер делает привязку, и пользователь видит сайт своего города (или ближайшего).

проблема: хотелось бы избавиться от странички с просьбой подождать, а переслать http-запрос с ip-адресом посетителя в геокодер, а он бы вернул город, широту, долготу, ну и прочее, мне не нужное

пытался использовать сторонний геокодинг, но он глючит - путает города, или вообще сваливается

Net::HTTP.post_form(URI.parse('http://194.85.91.253:8090/geo/geo.html')...

 

8 комментариев
Подписаться на комментарии к посту
гмм, а вы его и пробовали использовать.
вот только что мешало просто скачать базу?
то есть нативного решения от яндекса нет?
базы в инетрнете лежат платные, и их обновлять надо
есть аш два нативных решения "от яндекса"
первое это гео локация функциями самого браузера
второе функциями яндекс бара, но он жадный - данными не поделиться.

но есть одно но - вам надо знать локацию при генерации страницы, или после?
Тоесть решение серверное или клиентское?
Если клиенское - можно сделать хитро - альтергео дает "бар" который выдаст в браузер функции геолокации
решение в данный момент клиентское, надо серверное
maxmind + ipgeobase
обновление базы занимает секунд 20. Делается раз в неделю.
решение конечно не идеально и часто врет.
Но все в пределах ограничения технологии
тем, что это является текущим решением, и выполняется на отдельной странице яваскриптом, а я хочу с сервера отправить http-request яндекс-геокодеру, содержащий ip адрес пользователя, получить обычный ответ от него, распарсить, и выдать СРАЗУ страницу для города