此应用程序使显示给定地址的地图变得容易

django-easy-maps的Python项目详细描述


Django简易地图

此应用程序使在 django模板。无手动地理编码、HTML/JS复制粘贴或django 需要更改模型。

作者是Mikhail Korobov,一些伟大的 contributors

https://img.shields.io/pypi/v/django-easy-maps.svghttps://img.shields.io/pypi/dm/django-easy-maps.svghttps://img.shields.io/github/license/bashu/django-easy-maps.svghttps://img.shields.io/travis/bashu/django-easy-maps.svg

安装

首先安装模块,最好是在虚拟环境中。它可以从pypi安装:

pip install django-easy-maps

设置

您需要将easy_maps添加到项目的settings.py文件中的INSTALLED_APPS中:

INSTALLED_APPS+=['easy_maps',]

然后运行./manage.py migrate创建所需的数据库表。

配置

唯一必需的配置是EASY_MAPS_GOOGLE_KEY变量:

EASY_MAPS_GOOGLE_KEY='ABCDEFGHIJKLMNOPQRSTUVWXYZ___0123456789'

如果在没有插入地址的情况下需要一个位置将地图居中 但是,将纬度和经度添加到 您的settings.py如下:

EASY_MAPS_CENTER=(-41.3,32)

请参阅example应用程序。此应用程序用于 手动测试此包的功能。这也可以作为 一个很好的例子。

你需要django 1.8或更高版本来运行它。它可能在旧版本上运行,但未经测试。

用法

首先,在要使用的每个模板中加载easy_map_tags

{%loadeasy_maps_tags%}

使用:

{%easy_map<address>[<width><height>][<zoom>][using<template_name>]%}

例如:

{%loadeasy_maps_tags%}<!-- Default map with 300x400 dimensions -->{%easy_map"Russia, Ekaterinburg, Mira 32"300400%}<!-- Variable address, custom detail level and custom template -->{%easy_mapaddress2002005using"map.html"%}

地图的坐标将首先使用谷歌地理编码器获得 进入。然后它们将被缓存在数据库中。可以使用django的模板缓存 以后为了防止在每个贴图渲染上访问数据库:

{%loadeasy_maps_tagscache%}{%cache600my_mapfirm.address%}{%easy_mapfirm.address300400%}{%endcache%}

模板

如果默认映射模板不足,则自定义映射模板可以 使用。例如:

{%easy_mapaddressusing"map.html"%}{%easy_mapaddress2003005using"map.html"%}

模板将具有mapeasy_maps.Address实例 在第一次访问时为传递的地址自动创建,widthheight 以及zoom变量。外部模板上下文传递给呈现的 模板也一样。

您可以从头开始创建自己的模板,也可以重写 默认模板。

请参阅https://developers.google.com/maps/documentation/javascript/了解 详细的google地图javascript api帮助。

小部件

django-easy-maps提供了一个基本的小部件,它在地址下显示一个映射 字段。它可以在管理员中用于地图预览。例如:

fromdjangoimportformsfromdjango.contribimportadminfromeasy_maps.widgetsimportAddressWithMapWidgetfrom.modelsimportFirmclassFirmAdmin(admin.ModelAdmin):classform(forms.ModelForm):classMeta:widgets={'address':AddressWithMapWidget({'class':'vTextField'})}admin.site.register(Firm,FirmAdmin)

address字段应该是CharFieldTextField

贡献

如果你发现了一个bug,实现了一个特性或者定制了模板 觉得有用的话请考虑贡献。修补程序、拉取请求或 欢迎提出建议!

许可证

django-easy-maps是在mit许可下发布的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用唯一的按钮标签单击按钮   代码生成如何使用Java codeModel为数组的特定索引赋值   java如何批量执行Camel SQL插入   java iText 7将ltv添加到现有签名   内存管理Java应用程序突然停止几天后(810)   带MySQL的java注册表单JavaFX在intellij中失败   如何使用eclipse为windows azure java项目启用远程调试   一种通用的java输入输出设计模式   java Android XML(RSS)忽略引号(“”)   java帮助:安卓中的8 X 10 2维按钮数组   java启动Android项目   JWrapper构建java应用程序   java如何在Android应用程序中设置基于日期/时间的默认页面加载?   java循环程序在完成后返回到起点   java Hibernate:更好的整体类还是多类映射?   回溯数独解算器的递归问题[Java]   java查找类用法   java如何在SpringWebFlow中将多个模型绑定到一个视图?