从带有变量的函数调用javascript的map.setView

从带有变量的函数调用javascript的map.setView,javascript,django,leaflet,Javascript,Django,Leaflet,我正在运行一个带有表2的django应用程序。然后,我用linkify设置了一个字段,我想通过运行javascript函数来缩放到一个功能。 我在renderd htm中的代码是: <div id="map" class="leaflet-container-default"></div> ...... <td ><a href="javascript:onclick=myFunction(7.2

我正在运行一个带有表2的django应用程序。然后,我用linkify设置了一个字段,我想通过运行javascript函数来缩放到一个功能。 我在renderd htm中的代码是:

<div id="map" class="leaflet-container-default"></div>
    ......
<td ><a href="javascript:onclick=myFunction(7.22591038,61.1982749)">Zoom til</a></td>....

<script type="text/javascript">
function myFunction(lat,long) {
map.setView([lat,long], 15);
}
</script>

......
....
函数myFunction(横向、纵向){
地图设置视图([lat,long],15);
}
Django laflet generatet映射脚本,其中定义了映射:

<script>
(function () {

    function loadmap() {
        var djoptions = {"srid": null, "extent": [[-90, -180], [90, 180]], "fitextent": true, "center": [61.2340642364768, 7.10221073722647], "zoom": 12 },
            options = {djoptions: djoptions, initfunc: loadmap,
                       globals: false, callback: window.map_init},
            map = L.Map.djangoMap('map', options);
        
    }
    var loadevents = ["load"];
    if (loadevents.length === 0) loadmap();
    else if (window.addEventListener) for (var i=0; i<loadevents.length; i++) window.addEventListener(loadevents[i], loadmap, false);
    else if (window.jQuery) jQuery(window).on(loadevents.join(' '), loadmap);
    
})();
</script>

(功能(){
函数loadmap(){
var djoptions={“srid”:null,“区段”:[[-90,-180],[90180],“fitextent”:true,“中心”:[61.2340642364768,7.10221073722647],“缩放”:12},
options={djoptions:djoptions,initfunc:loadmap,
globals:false,回调:window.map\u init},
map=L.map.djangoMap('map',选项);
}
var loadevents=[“加载”];
如果(loadevents.length==0)loadmap();

else if(window.addEventListener)for(var i=0;i代码片段中显示的
map
变量位于
loadmap
函数的内部作用域中。因此,您以后无法再访问它

可能有一种方法可以通过Django传单API检索它


否则,如果您可以在Django单张1之前执行一个脚本,您可以设置一个单张init hook ehich,ehich可以为您提供映射引用。请参见代码段中显示的
map
变量位于
loadmap
函数的内部范围内。因此,您以后无法再访问它

可能有一种方法可以通过Django传单API检索它


否则,如果您可以在Django传单1之前执行脚本,则可以设置传单初始化钩子。ehich可以为您提供映射引用。请参见

问题出在哪里?它不起作用。控制台返回该映射不是函数。您是否定义了映射变量?例如:
var map=L.map('mapid')。setView([51.505,-0.09],13)
传单django应用程序生成此映射脚本,如在Post中添加的。问题是什么?它不起作用。控制台返回该映射不是函数。是否定义了映射变量?如:
var map=L.map('mapid')。setView([51.505,-0.09],13)
传单django应用程序生成这个地图脚本,就像在postThx中添加的一样,简单的方法是设置一个钩子:-)Thx,简单的方法是设置一个钩子:-)