StackOverflowでこの質問を試してみましたが、回答がありませんでした。皆様のお役に立てれば幸いです。
JavaScript / DojoでWebマッピングアプリケーションを作成する:
アプリをブラウザーに読み込むと、html要素が読み込まれますが、処理が停止します。ブラウザーを更新して、ページの残りの部分とJavaScriptをロードする必要があります。
私は一日中テストとデバッグを行っており、外部JSファイルが間違った場所にあることがわかりました(私は新人です)。それを修正し、アプリは素晴らしいロードをします...私のファイルの1つが正しく読まれていないか、まったくありません。
問題の外部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");
編集2 すべてのコード(cssを除く)をメインのdefault.htmlファイルに配置するアプリを完全に書き直しました。私はそれが私が望むように機能することを確かめるために少しずつテストしました。トグルコードの追加は、それをスローし、追加の更新を引き起こす唯一のコードです。
したがって、今のところ、私はdijit.TitlePaneを使用して、ドロップダウン要素(ベースマップギャラリー、レイヤー、凡例)を保持しています。ただし、これを使用して外観を変更してイメージにすることはできません。これが私の最終目標です。
誰かが代替案を提案して、3つの異なる画像を使用できるようにして、画像をクリックしてドロップダウンメニューが開き、ベースマップギャラリー、レイヤーリスト、凡例が表示されるようにすることはできますか?