Всем привет!
Возник вопрос, а есть ли у нас аля яндексовское обратное кодирование? То есть я посылаю координаты, а в ответ “село нарушкино” или “село Нарушкино, большая улица, дом 3”? Желательно вида API, а не ПО которое ещё надо разворачивать с дампами и т.п.
Вот только вчера вечером делал. Апи нестабильно, пожелания принимаются, работа пока не гарантируется.
Особые фичи:
http://openstreetmap.by/geokot/?request=describe&lat=53.86934614523043&lon=27.650468945503235&locale=be - умеет находить ближайший подъезд и говорить номера квартир в нём
http://openstreetmap.by/geokot/?request=describe&lat=59.81441327649596&lon=30.352244675159454 - умеет прикидывать по километровым столбам highway=milestone номер километра трассы
В планах ещё и человекочитаемый адрес сериализованной строкой.
Ну мну надо просто для мониторинга иметь возможность выдать текстовое описание где человек. То есть это либо полигон (парк например) или дорога в радиусе пары метров, для этого API подходит?
GaM, оно для этого и делалось. Вплоть до “4-й подъезд дома 107” и “74.12 километр питерской КАД”.
Всё ли тебя устраивает в текущей выдаче?
Да вроде нормально, только не понятно что с кодировкой, по крайней мере браузер криво показывает русские буквы в ответе - там не utf а заголовок utf что ли?
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:272
Content-Type:text/javascript
Date:Fri, 27 Apr 2012 01:10:19 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.2.21 (Debian)
Vary:Accept-Encoding,User-Agent
м… кодировки вообще нет.
GaM, лечи браузер. Там utf. :3
Если бы utf то Content-Type:application/json; charset=utf-8.
АЛ декодер выдал что там разница кодировок: CP1251 → UTF-8
Хм… http://openstreetmap.by/geokot/?request=describe&lat=59.852882&lon=30.373213 internal server error = what?
И ещё можно ли сделать callback параметр? Чтобы для JSONp использовать. Или лучше таки проксировать собой запрос?
http://openstreetmap.by/geokot/?request=describe&lat=59.852882&lon=30.373213&callback=aaa
если будешь где-то использовать, отметь как-нибудь в запросе email=твоё_мыло или что-нибудь такое, на случай, если всё сломается / потребуется отловить твои запросы.
Ещё бы мануальчик примерный как лучше тасовать выдаваемые теги? А то у меня пока простой случай тупо дом, а если трасса, а если просто проспект, что приходит в каких случаях и что лучше из этого показывать? Ну хоть примерно.
GaM, а Nominatim не подойдёт? http://wiki.openstreetmap.org/wiki/Nominatim#Reverse_Geocoding_.2F_Address_lookup
Ну как-то не то) Км шоссе оно не выдает, а это мега-полезно, когда по трассе катишься.
хм… смотрю человек в Москве на мониторинге, пишет “Масква”, это откуда название, нельзя выяснить?
Это местное название, всё ок. Правильнее было бы Маасква, но это спорно.
GaM, &locale=ru сделает тебе русский язык.
А можно разузнать почему название, улица, дом есть, а названия города-страны нет? http://openstreetmap.by/geokot/?request=describe&lat=47.897625&lon=40.064335
Починено.