Skip to main content

Creating and editing Yandex maps.

Project description

django-editor-ymaps

Удобное использование Яндекс-Карт в проектах на Django.

version 0.2.1

Проверено на Django 1.8 и 1,9 , Python 2.7

Данное дополнение, предназначено для работы с яндекс-картами. Все настройки и переход на страницу редактора, располагаются на панели администратора. Имеется возможность, добавлять на карту геообъекты типа placemark, polyline и polygon. Также можно добавить и настроить свои иконки для маркеров и кластеризатора. Ссылка на страницу редактора, расположена в левом верхнем углу, в настройках карт.

Автоустановка необходимого ПО:

1. Pillow
2. django-imagekit
3. django-tinymce
4. djlime-filebrowser
5. python-slugify
6. django-smart-selects

Установка:

pip install django-editor-ymaps

settings:

INSTALLED_APPS = [
    ...

    'imagekit',
    'tinymce',
    'djlime_filebrowser',
    'smart_selects',
    'yandex_maps',
]

# Здесь ставьте свои настройки. Для карт, они подгружаются отдельно.
# https://github.com/aljosa/django-tinymce
TINYMCE_DEFAULT_CONFIG = { ... }

# Файловый браузер, настройте как принято в Ваших проектах,
# или воспользуйтесь настройками ниже.
PROJECT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
ROOT = os.path.normpath(os.path.join(PROJECT_DIR, ".."))
root_path = lambda *args: os.path.join(ROOT, *args)
path = lambda *args: os.path.join(PROJECT_DIR, *args)

# filebrowser - https://github.com/freshlimestudio/djlime-filebrowser
TINYMCE_FILEBROWSER = True
FILEBROWSER_PATH_TINYMCE = path(STATIC_ROOT, '/tiny_mce/')
FILEBROWSER_URL_TINYMCE = STATIC_URL+'/tiny_mce/'
FILEBROWSER_PATH_FILEBROWSER_STATIC = path(STATIC_ROOT, 'filebrowser/')
FILEBROWSER_URL_FILEBROWSER_STATIC = STATIC_URL+'filebrowser/'
FILEBROWSER_VERSIONS_BASEDIR = 'thumbnails/'
FILEBROWSER_EXTENSIONS = {
    'Image': ['.jpg', '.jpeg', '.gif', '.png'],
    'Document': ['.pdf', '.doc', '.rtf', '.txt', '.xls', '.csv'],
}
FILEBROWSER_MAX_UPLOAD_SIZE = '1024000'

urls:

urlpatterns = patterns(
    '',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^chaining/', include('smart_selects.urls')),
    url(r'^tinymce/', include('tinymce.urls')),
    url(r'^admin/filebrowser/', include('djlime_filebrowser.urls')),
    url(r'^yandex_maps/', include('yandex_maps.urls', namespace='yandex_maps')),
)

migrate:

python manage.py migrate

templates:

{% load ymaptags %}

<head>
<link rel="stylesheet" type="text/css" href="{% static 'yandex_maps/css/ymap_front.css' %}">
<link rel="stylesheet" type="text/css" href="{% static 'yandex_maps/switchery/switchery.min.css' %}">
<link rel="stylesheet" type="text/css" href="{% static 'yandex_maps/ymap_tinymce/css/front_tinymce.css' %}">

<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
<script type="text/javascript" src="{% static 'js/jquery.js' %}"></script>
<script type="text/javascript" src="{% static 'yandex_maps/js/jquery.json.min.js' %}"></script>
<script type="text/javascript" src="{% static 'yandex_maps/switchery/switchery.min.js' %}"></script>
<script type="text/javascript" src="{% static 'yandex_maps/js/ymap_front_load.js' %}"></script>
</head>
<body>
<h1>Карта</h1>
<!-- parameters: slug_map width height -->
{% load_ymap 'supermarkety-kharkova' 'auto' '400px' %}
</body>

Скриншоты:

Кнопка перехода на страницу редактора.

Кнопка перехода на страницу редактора.

Центровка карты.

Центровка карты.

Фрагмент страницы редактора с открытой панелью.

Фрагмент страницы редактора с открытой панелью.

Добавить объект на карту (левый клик).

Добавить объект на карту (левый клик).

Настройки метки (правый клик на объекте).

Настройки метки (правый клик на объекте).

Настройки маршрута (правый клик на объекте).

Настройки маршрута (правый клик на объекте).

Настройки территории (правый клик на объекте).

Настройки территории (правый клик на объекте).

Карта на странице сайта, с открытой панелью для выбора геообъектов.

Карта на странице сайта, с открытой панелью для выбора геообъектов.

Вид кластеров с кастомной иконкой.

Вид кластеров с кастомной иконкой.

Вид с открытым балуном (левый клик на объекте).

Вид с открытым балуном (левый клик на объекте).

License: MIT

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
django-editor-ymaps-0.2.1.tar.gz (1.1 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page