yandex-maps 0.7

Yandex.Maps API python wrapper with optional django integration.

Библиотека для работы с 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

MIT license

Author

Mikhail Korobov

Pip

yandex-maps==0.7

Classifiers

  • Topic :: Software Development :: Libraries :: Python Modules
  • Programming Language :: Python :: 2.7
  • Programming Language :: Python :: 2.6
  • Programming Language :: Python :: 2
  • Programming Language :: Python
  • Natural Language :: Russian
  • Natural Language :: English
  • License :: OSI Approved :: MIT License
  • Intended Audience :: Developers
  • Framework :: Django
  • Development Status :: 4 - Beta

Requirements

File Type Python Version Uploaded On Downloads
yandex-maps-0.7.tar.gz Source Aug. 2, 2013 3,544
Version Release Date
0.7 Aug. 2, 2013
0.6.1 April 6, 2012
0.6 March 20, 2012
0.5.1 Aug. 29, 2010
Date Package Version Action
June 17, 2015, 8:15 p.m. yandex-maps 0.6 Release Created
June 17, 2015, 8:15 p.m. yandex-maps 0.7 Release Created
June 17, 2015, 8:15 p.m. yandex-maps 0.5.1 Release Created
June 17, 2015, 8:15 p.m. yandex-maps 0.6.1 Release Created
June 17, 2015, 8:15 p.m. yandex-maps Package Created