django的sportemap应用程序,使用不同的供应商(google,yandex)可以方便地存储和显示地图上的位置。
django-treasuremap的Python项目详细描述
Django财务地图
Django ForecaseMap应用程序,使用不同的提供商(谷歌、Yandex等)可以方便地在地图上存储和显示位置。
要求
- python 2.7+或python 3.4+
- 姜戈1.11+
安装
使用您喜爱的python包管理器从pypi安装应用程序,例如
示例:
pip install django-treasuremap
将treasuremap添加到INSTALLED_APPS:
示例:
INSTALLED_APPS=(...'treasuremap',...)
配置
在settings.py中,需要添加一个设置(要使用哪个后端等)。
示例:
TREASURE_MAP={'BACKEND':'treasuremap.backends.google.GoogleMapBackend','API_KEY':'Your API key','SIZE':(400,600),'MAP_OPTIONS':{'zoom':5}}
示例用法
在型号中
fromdjango.dbimportmodelsfromtreasuremap.fieldsimportLatLongFieldclassPost(models.Model):name=models.CharField(max_length=100)point=LatLongField(blank=True)
在“管理”中
fromdjango.contribimportadminfromtreasuremap.widgetsimportAdminMapWidgetfrom.modelsimportPost@admin.register(Post)classPostAdmin(admin.ModelAdmin):defformfield_for_dbfield(self,db_field,**kwargs):ifdb_field.name=='point':kwargs['widget']=widgets.AdminMapWidget()returnsuper(PostAdmin,self).formfield_for_dbfield(db_field,**kwargs)
格式
fromdjangoimportformsfromtreasuremap.formsimportLatLongFieldclassPostForm(models.Model):point=LatLongField()
<head> ... <!-- jQuery is required; include if need --><scripttype="text/javascript"src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> ... </head><formmethod="POST"action="."> {{ form.media }} {% csrf_token %} {{ form.as_p }} </form>
根据您使用的后端,将显示正确的小部件 在当前位置有一个标记(jquery是必需的)。
设置
支持图:
- 谷歌地图treasuremap.backends.google.GoogleMapBackend
- yandex地图treasuremap.backends.yandex.YandexMapBackend
其他设置:
- API_KEY-如果需要,默认值None
- SIZE-具有映射大小的元组,默认值为(400, 400)
- ONLY_MAP-隐藏字段lat/long,默认值True
- MAP_OPTIONS-dict,用于初始化映射,默认值为{'latitude': 51.562519, 'longitude': -1.603156, 'zoom': 5}。latitude和longitude是必需的,不要使用其他“latlong对象”。