当用户单击链接时,我正在尝试将 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>