yandex-maps 0.7
Yandex.Maps API python wrapper with optional django integration.
License: MIT license

===========
yandex-maps
===========

Библиотека для работы с API Яндекс.Карт. Умеет работать с геокодером и
формировать адреса статичных карт. Опционально - интеграция с Django:
кеширование результатов геокодирования, шаблонные фильтры и теги для вывода
карт, показ карты для точки из GeoDjango.

Лицензия MIT.

Установка
=========

::

    pip install yandex-maps

Использование
=============

::

    >>> from yandex_maps import api
    >>> api_key = 'my_api_key'
    >>> pos = api.geocode(api_key, u'Санкт-Петербург, Бумажная 4')
    >>> print pos
    (u'30.271446', u'59.903300')

    >>> api.get_map_url(api_key, pos[0], pos[1], 13, 200, 300)
    http://static-maps.yandex.ru/1.x/?ll=30.2714460,59.9033000&size=200,300&z=12&l=map&pt=30.2714460,59.9033000&key=my_api_key


Интеграция с django
===================

1. В settings.py добавляем переменную YANDEX_MAPS_API_KEY со
   своим API-ключом от Яндекса. Ключ можно получить тут:
   http://api.yandex.ru/maps/form.xml/

2. 'yandex_maps' добавляем в INSTALLED_APPS

3. Выполняем ``./manage.py syncdb`` (или ``./manage.py migrate``,
   если используется south)

4. В шаблоне теперь можно использовать тег ``yandex_map``::

           {% load yandex_maps_tags %}

           <!-- Пример с явным указанием адреса -->
           {% yandex_map "Екатеринбург, Мира 32" 300 400 %}

           <!-- Пример с адресом в переменной, указанием уровня детализации и своими атрибутами -->
           {% yandex_map address 200 200 5 "id='my_map'" %}

   фильтр static_map_url::

           {% load yandex_maps_tags %}
           <img src='{{ "Санкт-Петербург, ул. Бумажная 4"|static_map_url:"300,200,13" }}'>

   фильтр external_map_url::

           {% load yandex_maps_tags %}
           <a href='{{ address|external_map_url:15 }} '>смотреть карту</a>

   В первый раз координаты для вывода карты будут получены через API Яндекс.Карт
   и сохранены в базу. При последующих вызовах координаты для карты будут
   браться из базы. При необходимости можно воспользоваться кешированием в
   шаблоне и обойтись без запроса к базе при выводе карты.


История изменений
=================

0.7 (2013-08-02)
----------------

* Исправлен тег ``{% yandex_map %}``;
* улучшены тесты;
* Python 2.5 больше не поддерживается. Код может еще работать под 2.5, но
  баги, связаннае с 2.5, исправляться больше не будут.

0.6.1 (2012-04-06)
------------------

* функция ``api.get_external_map_url`` и фильтр ``external_map_url``
  для получения ссылки на Яндекс Карту, размещенную у Яндекса

0.6 (2012-03-20)
----------------

* longtitude везде переименованы в longitude;
* фильтр ``static_map_url`` и тег ``yandex_map`` теперь поддерживают
  Point из GeoDjango (можно их применять к PointField с уже заполненными
  координатами);
* тесты запускаются через tox;
* в yandex_maps.api большие функции разбиты на более маленькие, чтоб их можно
  было использовать отдельно.

Для обновления с версии 0.5 выполните миграции south::

     python ./manage.py migrate yandex_maps

и переименуйте все 'longtitude' в 'longitude', если эти атрибуты или
аргументы где-то использовались в коде.

0.5.1 (2010-08-29)
------------------

django-yandex-maps переименован в yandex-maps