我正在使用GeoDjango开发GIS项目,为此我必须使用OpenLayers渲染地图。我的代码段接受JSON在OpenLayers中创建图层。我想将我的GeoDjango“管理”模型作为JSON发送到我的HTML页面,然后在HTML上接收它作为JSON来呈现我的地图。
请提供另一个建议,了解如何在OpenLayers地图中渲染我的GeoDjango模型。
我的管理模式:
class UPAdministrative(models.Model):
name=models.CharField(max_length=51)
admin_leve=models.CharField(max_length=5)
ls=models.LineStringField()
objects=models.GeoManager()
def __unicode__(self):
return self.name
答案 0 :(得分:1)
我认为你必须为你的模型实现CRUD并在html中使用它。为了显示geoobject,我只使用了django管理页面。 要写一个CRUD,请参阅
答案 1 :(得分:0)
您可以在视图中将模型序列化为OpenLayers支持的格式。例如,此视图仅将几何体作为geojson发送:
from django.http import HttpResponse
from models import UPAdministrative
def upadministrative_geometry_json(request, upadmin_id):
up_admin = UPAdministrative.objects.get(pk=upadmin_id)
geojson = up_admin.ls.geojson
return HttpResponse(geojson, mimetype='application/json')
问题Rendering spatial data of GeoQuerySet in a custom view on GeoDjango有一个更详细的例子,说明如何将数据与OpenLayers集成。