一起使用dojo 1.7(內置於我正在使用的Esri API中)在地圖彈出窗口(用戶單擊地圖時觸發)中動態創建圖表。圖表不會在.resder中出現,但會與.render
var c = dojo.create("div", {
id: "demoChart"
}, dojo.create('div'));
設置圖表屬性(數據,主題等)後,如果我叫chart.render
,圖表呈現正常,但在錯誤的大小(太大了信息窗口div容器)。
但是,如果我打電話chart.resize(175, 145)
,圖表確實以正確的大小創建,但不會在第一次單擊時創建,而是第二次單擊。
請複製see this JSFiddle,並參考Javascript中的第49-53行。
map.infoWindow.setContent(c);
// Chart Resize will resize the DIV as needed.
// However, the initial click will not show the chart
chart.resize(175, 145);
// Chart Render shows the chart on first click, but does not resize the div
//chart.render();
我的印象是resize方法包括在其中調用render。因此我不太清楚爲什麼我會得到這種行爲。
我需要知道需要更改什麼才能創建與其所在的父div相同大小的圖表div。
你可以添加一個鏈接到JSFiddle,你已經使它的工作 – Simon
我以爲我已經更新了你的JSFiddle,但它沒有奏效。我已經分叉了你的JSfiddle並編輯了我的答案以包含鏈接。 – Andrew
完美的作品。謝謝安德魯。關於爲什麼工具提示沒有顯示的任何快速的想法? – Simon