我正在使用Django,Geodjango,OpenLayers和PostGIS创建一个Web制图应用程序。我想将OpenLayers底图缩放到从组合框中选择的城市的位置,我认为可以通过将经/纬度坐标和缩放级别传递给OpenLayers来做到这一点。
我有一个视图函数,该函数运行带有用于所选城市的过滤器的Django查询,然后为返回的QuerySet计算质心,如下所示。
centroid = LGA.objects.get(name=lga).geom.centroid
Run Code Online (Sandbox Code Playgroud)
我当前设置地图中心的方式是通过以下代码静态完成:
var center = new OpenLayers.LonLat(133.0, -27.0).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
);
Run Code Online (Sandbox Code Playgroud)
这些坐标用于澳大利亚的中心,但是我想使用带有Lat和Long变量的Django模板为所选城市动态设置地图中心。我不确定如何从我在视图函数中计算出的质心获取纬度和经度,或者是否还有另一种方法可以通过向OpenLayers传递几何图形而不是坐标来设置地图中心。
在此先感谢您的帮助。
罗
在我的应用程序中,我有一个Ext.Window当用户单击按钮时创建的组件。当此窗口打开时,我不希望用户能够单击此窗口之外的任何位置,直到窗口关闭或提交,类似于冻结Ext.LoadMask页面上的所有内容的方式。我可以成功创建窗口,并且我认为我正在寻找的正确方法就是该focus()方法,但这对我不起作用。它根本没有任何作用。
我想知道我是否做错了什么,是否误解了该focus()方法的目的,或者是否有另一种方法可以实现我想要做的事情。下面是我的代码:
var window = new Ext.Window({
title: 'Specify rezoning details',
layout: 'fit',
closable: false,
width: 300,
height: 200,
items: [zoningCombo],
buttons: [submitButton, cancelButton]
});
window.show(); //This works
window.focus(); //THIS DOES NOT WORK TO PREVENT INPUT ELSEWHERE
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助。
右