Pull to refresh

Работа с Яндекс.Картами на C#, через Яндекс.API

Здравствуйте. Дня три назад, на работе, мы преступили к проекту, в котом требовалось использование карт. Немного проведя анализ, выбор стал очевидным – это будут Яндекс.Карты. Один из главных критериев, который повлиял на выбор – хорошее покрытие города и более полная нумерация объектов. Наверное карты Google и преобладают перед Яндексом, но только не в нашем городе. В Алмате (РК) большинство людей, из тех, кого я знаю используют Яндекс.Карты либо карты от Nokia. Но так как у карт еще есть хорошие API, то выбор был очевидным.

С чего начать?


Это был первый вопрос, который возник у меня в голове. Я не стал сразу бросаться и писать кучу ненужного кода, а решил посмотреть, как это реализовали люди. Так как у Яндекса API реализованы на JavaScripte, то искать для C# у них в документации было бесполезно. Да и поиск по другим сайтам мне много информации не принес. Пришлось собирать все по крупицам. Несколько статей прочел здесь на Habrahabre, часть пришлось переписывать с JavaScriptа, либо додумывать самому.

Что получилось


В итоге всех стараний получилась библиотека, написанная полностью на C# и умеющая:
  • Искать координаты точки по адресу и на оборот, адрес по координатам.
  • Возвращать статический Image с точкой, которую искали.
  • Определять принадлежит ли точка полигону. С любым количеством углов и форм.
  • Определить какому именно полигону принадлежит точка.

Вот пример того, с какими полигонами она может работать:
Пример полигона

* На рисунке один полигон.

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

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

Заключение


Все исходные коды лежат в свободном доступе на GitHub ( github.com/kidinfo/YandexAPI )

Так же в проекте есть примеры по всем функциям библиотеки.

Библиотека находится еще на ранней стадии разработки и если есть замечания, предложения и т.д., готов выслушать с большим удовольствием. Может кому-то нужны еще какие-то функции, предлагайте, постепенно буду пробывать их добавлять.

Спасибо за уделенное мне внимание.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.