【发布时间】:2009-11-29 19:07:12
【问题描述】:
在 django 应用程序中,我有以下模型:
class Appointment(models.Model):
#some other fields
#address fields
zipcode=models.CharField(max_length=5)
address=models.CharField(max_length=120)
latitude=models.FloatField()
longitude=models.FloatField()
当我呈现约会时,我只是在经度和纬度指定的位置放置一个标记,地址为文本,但是我需要纬度和经度才能做到这一点。
目前,纬度和经度必须在管理后端手动输入,但打开谷歌地图/OSM,搜索地址并输入纬度和经度是不应该手动完成的工作,所以我想要通过 Google Maps API(关键字地理编码)检索它。
理想情况下,我希望在地址旁边有一个“获取坐标”按钮,按下该按钮时,会启动地理编码请求并在地址明确时填写纬度和经度,并显示带有结果的地图并填写坐标当用户点击正确的标记时。
我知道该怎么做,但我不确定应该如何将标记和代码插入到管理后端。
我已经考虑过但不想做的一些事情,因为它们看起来不自然,或者对于这样一个简单的任务来说似乎工作量太大:
- 将代码放在
field_options中的地址字段描述中的一个派生自admin.ModelAdmin的类中 - 将与地址相关的所有内容放在单独的模型中,并使用自定义
form(带有单独的模板 - 创建地址选择器小部件
- 使用 GeoDjango
【问题讨论】:
标签: python django google-maps user-interface django-admin