Здравствуйте. Передо мной стоит задача определять регион по координатам точки.
1. Нашел инструкцию о том, как определить, в каком регионе находится точка:
http://clubs.ya.ru/mapsap
Но эта инструкция мне не подходит, так как в ней регионы добавляются на карту, что мне вовсе не нужно. Я пробовал экспериментировать, но регионы отказываются проверять принадлежит ли им точка, если они не добавлены на карту. Ругаются...
2. Пытаясь решить эту проблему, я нашел вот такой метод добавления полигонов на карту в виде геометрии: http://clubs.ya.ru/mapsap
Но я не могу понять как воспользоваться этим методом в отношении регионов, ведь регион состоит из нескольких полигонов, часть из которых внешние, а часть - внутренние, причем для регионов эти термины - "внутренние" и "внешние" вообще непонятно что обозначают. Например, я пробовал выдернуть из полигонов все их ГЕО-точки, и построить полигоны по ним с помощью скрипта. Получался очень странный результат. Часть регионов ограничены только внешними полигонами, а часть - только внутренними. То есть, не получается представить Регион в виде простого полигона, по которому можно было бы проверить, принадлежит ли ему точка. Изначально я хотел сделать примерно как в этой статье:
То есть просто скачать себе все координаты границ регионов и проверять какому региону принадлежит точка на сервере - не нагружая ни браузер клиента, ни сервер яндекса дополнительной работой, но именно непонятная природа геометрии региона поставила крест на этой задумке.
Хотел бы попросить о помощи:
1) Было бы здорово, если кто-нибудь сможет подсказать как, без особых танцев с бубном, по полученному с помощью функции regions.load списку регионов определять к какому из них принадлежит точка, НЕ добавляя их на карту визуально (то есть, если можно их добавить на карту так чтобы с ними нельзя было взаимодействовать и видеть их - было бы идеально)
2) Еще лучше и интереснее было бы узнать о таинственной природе геометрии регионов. Если вы мне не верите на счёт абсолютной непонятности того как конструируются регионы из полигонов, я постараюсь найти в дебрях моей машины скрипт который я написал для экспериментов и который рисовал картинку с изображением этих полигонов в большом разрешении, при чем "внутренние" полигоны рисовались только красным цветом, а внешние - только синим, в результате, часть регионов нарисована только красными линиями, а часть - только синими. Если же отключить рисование какого-то вида полигонов, то большАя часть регионов становится прорисованной только с одной стороны, либо не прорисованной вообще.
3) Если у кого-то есть решение или идеи по поводу того как организовать определение региона на сервере а не в браузере - я был бы очень благодарен. На мой взгляд, в браузере точное определение расположения точки будет довольно тормозным, и серверный вариант был бы намного лучше...
Спасибо за то, что попытались думать в направлении моего вопроса :)