Skip to main content

Yandex.Maps API python wrapper with optional django integration.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yandex-maps-0.7.tar.gz (9.6 kB view details)

Uploaded Source

File details

Details for the file yandex-maps-0.7.tar.gz.

File metadata

  • Download URL: yandex-maps-0.7.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for yandex-maps-0.7.tar.gz
Algorithm Hash digest
SHA256 0bc07355b4b6910a5532818b9920365599c050a321c6e4ef9537bba0afafab50
MD5 a2e6db1a903e7d84139ae53607df412d
BLAKE2b-256 4068146b85edb855da98d1a56502328f762b4c3ed98fe53f590c55db3385f55f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page