Я спробував це питання на StackOverflow, але відповіді не отримав. Сподіваючись, що ви всі зможете допомогти.
Створення програми для веб-картографування у Javascript / Dojo:
Коли я завантажую додаток у браузері, він завантажує елементи html, але потім припиняє обробку. Мені потрібно оновити браузер, щоб він міг завантажувати решту сторінки та javascript.
Я весь день робив тестування та налагодження і з’ясував, що я маю свої зовнішні файли JS в неправильному місці (я новачок). Це виправлено, і додаток завантажується чудово ... ЗАКЛЮЧЕНО один із моїх файлів не читається правильно або взагалі.
Коли я переміщую вміст зовнішнього файлу JS до основного коду за замовчуванням, функціонал, який вони містять, працює нормально ... АЛЕ карта знову потребує оновлення.
Тупцювали. Нижче наведено код у зовнішньому файлі JS, який викликає мою проблему. Я не можу зрозуміти, чому це проблема, оскільки функції працюють так, як очікувалося, коли вони не є зовнішніми.
Будь-яка допомога дуже вдячна.
//Toggles
function basemapToggle() {
basemaptoggler = new dojo.fx.Toggler({
node: "basemaptoggle",
showFunc : dojo.fx.wipeIn,
showDuration: 1000,
hideDuration: 1000,
hideFunc : dojo.fx.wipeOut
})
}
dojo.addOnLoad(basemapToggle);
function layerToggle() {
layertoggler = new dojo.fx.Toggler({
node: "layertoggle",
showFunc : dojo.fx.wipeIn,
showDuration: 750,
hideDuration: 750,
hideFunc : dojo.fx.wipeOut
})
}
dojo.addOnLoad(layerToggle);
function legendToggle() {
legendtoggler = new dojo.fx.Toggler({
node: "legendtoggle",
showFunc : dojo.fx.wipeIn,
hideFunc : dojo.fx.wipeOut
})
}
dojo.addOnLoad(legendToggle);
Ось передня частина мого коду
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7, IE=8, IE=9" />
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
<title>
Zoning Classifications
</title>
<link rel="Stylesheet" href="ZoningClassifications.css" />
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.0/js/dojo/dijit/themes/claro/claro.css">
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.0/js/esri/dijit/css/Popup.css">
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.0/js/dojo/dojox/grid/resources/Grid.css">
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.0/js/dojo/dojox/grid/resources/claroGrid.css">
<style type="text/css">
</style>
<script src="JS/layers.js"></script>
<script src="JS/search.js"></script>
<script src="JS/basemapgallery.js"></script>
<script src="JS/identify.js"></script>
<script src="JS/toggles.js"></script>
<script type="text/javascript">
var djConfig = {
parseOnLoad: true
};
</script>
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.0"></script>
<script type="text/javascript">
dojo.require("dijit.dijit"); // optimize: load dijit layer
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("esri.map");
dojo.require("dijit.TitlePane");
dojo.require("esri.dijit.BasemapGallery");
dojo.require("esri.arcgis.utils");
dojo.require("esri.tasks.locator");
dojo.require("esri.dijit.Legend");
dojo.require("esri.dijit.Popup");
dojo.require("dijit.form.Button");
dojo.require("dojo.fx");
dojo.require("dijit.Dialog");
dojo.require("dojo.ready");
dojo.require("dijit.TooltipDialog");
dojo.require("dojox.grid.DataGrid");
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("esri.tasks.find");
EDIT 2 Я повністю переписав додаток, розмістивши весь код (крім css) у головному файлі default.html. Я тестував по частинах, щоб переконатися, що він функціонує, як я хочу. Додавання коду перемикань - єдиний код, який його кидає та викликає додаткове оновлення.
Тому я зараз використовую dijit.TitlePane для утримання елементів, що випадають (галерея базових карт, шари, легенда). Однак з цим ви не можете змінити зовнішній вигляд і зробити їх зображеннями, що є моєю кінцевою метою.
Хто-небудь може запропонувати альтернативу, щоб я міг використовувати 3 різних зображення, щоб після натискання на зображення і випадаюче меню відкрилося з галереєю базових карт, списком шарів та легендою?