我正在使用 Django、Geodjango、OpenLayers 和 PostGIS 创建一个网络地图应用程序。我想将 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 中设置地图中心。
提前感谢您的帮助。
罗