मैं StackOverflow पर इस सवाल की कोशिश की, लेकिन कोई जवाब नहीं मिला। आप सभी से मदद की उम्मीद कर सकते हैं।
जावास्क्रिप्ट / Dojo में एक वेब मैपिंग एप्लिकेशन बनाना:
जब मैं ब्राउज़र में ऐप लोड करता हूं तो यह html एलिमेंट्स को लोड करता है लेकिन फिर प्रोसेसिंग बंद कर देता है। मुझे शेष पृष्ठ और जावास्क्रिप्ट को लोड करने के लिए इसे प्राप्त करने के लिए ब्राउज़र को ताज़ा करना होगा।
मैंने पूरे दिन परीक्षण और डिबगिंग किया है और मुझे पता चला है कि मेरी जेएस फाइलें गलत स्थान पर हैं (मैं एक धोखेबाज़ हूं)। निश्चित है कि और एप्लिकेशन बहुत अच्छा लोड करता है ... मेरी फ़ाइलों में से एक को सही ढंग से या बिल्कुल भी नहीं पढ़ा जा रहा है।
जब मैं बाह्य जेएस फ़ाइल की सामग्री को डिफ़ॉल्ट रूप से मुख्य कोड के प्रश्न में स्थानांतरित करता हूं, तो जो कार्यक्षमता होती है, वह ठीक काम करती है ... लेकिन मानचित्र को फिर से ताज़ा करने की आवश्यकता होती है।
स्टम्प्ड। नीचे बाहरी जेएस फ़ाइल में कोड है जो मेरे मुद्दे का कारण बन रहा है। मैं यह पता नहीं लगा सकता कि यह एक समस्या क्यों है क्योंकि जब यह बाहरी नहीं होता है तो फ़ंक्शन अपेक्षित रूप से कार्य करता है।
कोई भी मदद बहुत ही सराहनीय होगी।
//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 मैंने मुख्य डिफ़ॉल्ट.html फ़ाइल में सभी कोड (सीएसएस को छोड़कर) रखने वाले ऐप को पूरी तरह से फिर से लिखा है। मैंने यह सुनिश्चित करने के लिए कि यह कैसे काम करता है, टुकड़ा द्वारा टुकड़ा का परीक्षण किया। टॉगल कोड जोड़ना एकमात्र कोड है जो इसे फेंकता है और अतिरिक्त ताज़ा का कारण बनता है।
तो अब के लिए मैं dijit.TitlePane का उपयोग ड्रॉप डाउन एलिमेंट्स (बेसमैप गैलरी, लेयर्स, लेजेंड) को रखने के लिए कर रहा हूँ। हालाँकि इसके साथ आप उनके चित्रों को बनाने के लिए उनके स्वरूप को नहीं बदल सकते हैं, जो मेरा अंतिम लक्ष्य है।
क्या कोई विकल्प का सुझाव दे सकता है ताकि मैं 3 अलग-अलग छवियों का उपयोग कर सकूं ताकि जब आप छवि पर क्लिक करें और नीचे ड्रॉप डाउन मेनू खुल जाए तो बेसमैप गैलरी, परत सूची और किंवदंती को पकड़े?