我正在尝试在用户单击链接时将esri print dijit添加到对话框中。我遇到的问题是抛出一个错误,例如“无法调用方法toLowerCase undefined。我不确定发生了什么或为什么会发生这种情况。当我注释掉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>