0

当用户单击链接时,我正在尝试将 esri print dijit 添加到对话框中。我遇到的问题是抛出错误,例如“无法调用未定义的方法 toLowerCase。我不确定发生了什么或为什么会发生这种情况。当我注释掉 printInfo 时,地图和图例渲染得很好.当我试图把它放回代码中时,未定义错误的小写方法被调用,我被卡住了

在这里,我正在设置我的地图,然后调用 print dijit

    function init(type, vid) {        

    map = new esri.Map("mapDiv", {
        basemap: "gray",
        sliderStyle: "large",
        center: [-95.625, 39.243],
        nav: false,
        logo: false,
        zoom: 7
    });//end base map

    dojo.connect(map, "onLoad", function () {
        console.log("base and feature layers added");
        $(document).ready();
    });  //end dojo.connect

    var upDateEnd = dojo.connect(fl, "onUpdateEnd", function () {
        dojo.disconnect(upDateEnd);

        var printInfo = esri.request({
            "url": app.printUrl,
            "content": { "f": "json" }
        });
        printInfo.then(handlePrintInfo, handleError);
    });//end update       

    drawFeatureLayer();               
}//end init function

这是我调用打开对话框的地方,它打开地图 div 并显示地图的隐藏图例

    function openBox(v) {
    $("#mapDiv").dialog({
        autoOpen: false,
        height: 600,
        width: 900,
        title: "Map Profile"
    });

    $("#mapDiv").dialog("open");
    $("#legend").show();              
}//end open box

这是打开的地图的 HTML:

<div id="maps" >
<div id="mapDiv" style="height:550px; width:475px; display:block;">

    <div id="print_button"></div>
        <div id="legend" style=" position:absolute; bottom:25px; z-index:100; display:none;" >        
            <ul style="list-style-type:none;">
                <li> 2-4</li>
                <li> 5-7</li>
                <li> 7-10</li>                                                 
            </ul>
        </div>
</div>   

4

0 回答 0