2012-02-05 58 views
1

我要添加一個額外的控制到的OpenLayers地圖通過olwidget處理點擊等產生在這個例子: http://openlayers.org/dev/examples/click.htmlGeoDjango內置/ olwidget:添加控件到地圖

<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> 

但由生成的JavaScript olwidget不分配所創建的映射到一個變量,所以我可以鉤它:

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

如果僅是這樣的:

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

上面的代碼會運行。

這種情況下最好的方法是什麼?我應該操縱生成地圖腳本的olwidget模板還是有更自然的方式?

謝謝。

回答

0

隨着最近更新olwidget,現在可以定義一個獨立的模板在元類定義渲染帖子:所以

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

,定義自定義模板,並分配映射到一個JavaScript變量似乎是正確的做法。