skip to navigation
skip to content

Not Logged In

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

 
File Type Py Version Uploaded on Size
yandex-maps-0.7.tar.gz (md5) Source 2013-08-02 9KB
  • Downloads (All Versions):
  • 14 downloads in the last day
  • 76 downloads in the last week
  • 405 downloads in the last month