geodjango / olwidget:向地图添加控件

时间:2012-02-05 23:02:55

标签: openlayers geodjango olwidget

我想为olwidget生成的OpenLayers地图添加一个额外的控件,以处理此示例中的点击: http://openlayers.org/dev/examples/click.html

<script>
    OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {
        ... click handling code goes here ...
    });

    var click = new OpenLayers.Control.Click();
    map.addControl(click);
    click.activate();
</script>

但是olwidget生成的javascript并没有将创建的地图分配给变量,所以我可以挂钩它:

new olwidget.Map("id_coords", [...], {...});

如果只是这样:

var map = new olwidget.Map("id_coords", [...], {...});

上面的代码会运行。

在这种情况下,最好的方法是什么?我应该操作生成地图脚本的olwidget模板还是更自然的方式?

感谢。

1 个答案:

答案 0 :(得分:0)

最近更新了olwidget,现在可以定义用于在Meta类定义中呈现帖子的各个模板:

class PostForm(MapModelForm):
    class Meta:
        model = Post
        template = 'posts/post_map.html'

因此,定义自定义模板并将地图分配给javascript变量似乎是正确的方法。