我正在使用Django、Geodjango、OpenLayers和PostGIS创建一个Web地图应用程序。我想要在OpenLayers底图上缩放到已从组合框中选择的城市的位置,并且我认为我可以通过将纬度/经度坐标和缩放级别传递给OpenLayers来实现这一点。
我有一个视图函数,它运行一个带有所选城市过滤器的Django查询,然后我计算返回的QuerySet的质心,如下所示。
centroid = LGA.objects.get(name=lga).geom.centroid
我目前设置地图中心的方式是使用以下静态代码:
var center = new OpenLayers.LonLat(133.0, -27.0).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
);
这些坐标是指澳大利亚的中心,但我想使用带有经度和纬度变量的Django模板动态设置所选城市的地图中心。我不确定如何从视图函数中计算出来的质心获取经纬度,或者是否有其他方法可以通过传递几何形状而不是坐标来设置OpenLayers中的地图中心。
谢谢您提前的帮助。
Ro
GeometryField
实例的x
或y
属性。说“将'.x'或'.y'添加到Django查询的末尾”可能会让人误解。 - Bibhas Debnath