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
В settings.py добавляем переменную YANDEX_MAPS_API_KEY со своим API-ключом от Яндекса. Ключ можно получить тут: http://api.yandex.ru/maps/form.xml/
‘yandex_maps’ добавляем в INSTALLED_APPS
Выполняем ./manage.py syncdb (или ./manage.py migrate, если используется south)
В шаблоне теперь можно использовать тег 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.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
File details
Details for the file yandex-maps-0.6.1.tar.gz
.
File metadata
- Download URL: yandex-maps-0.6.1.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d004c3fded72b22f36240e621fb9652dd85719bb2305c2566be5c2e64a821d8c |
|
MD5 | b2e56723cbae11670d712e2d1e83ae43 |
|
BLAKE2b-256 | 0aef5f245ef6ec89c7c5431d4d927da5a052a2a8661ea7fe96f342109df5ffd9 |