DROP DOWN MENU

3648
1
06-04-2015 01:43 AM
SatyanarayanaNarmala
New Contributor III

Hi

i am a beginer in programming. i am trying to create a drop down menu for my application, where on selecting a district the feature polygon should be highlighted and further mandal....

while loading it shows the error

ReferenceError: QueryTask is not defined

ReferenceError: query is not defined

here is the code.....where am i going wrong

<!DOCTYPE html>

<html>

  <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <!--The viewport meta tag is used to improve the presentation and behavior of the samples

      on iOS devices-->

    <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">

    <title>Popup</title>

    <link rel="stylesheet" href="http://js.arcgis.com/3.13/dijit/themes/claro/claro.css">

    <link rel="stylesheet" href="http://js.arcgis.com/3.13/esri/css/esri.css">

    <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.5/js/dojo/dijit/themes/claro/claro.css">

    <style>

      html, body, #map {

        padding: 0;

        margin: 0;

        height: 100%;

      }

      /* Change color of icons to match bar chart and selection symbol */

      .esriPopup.dark div.titleButton,

      .esriPopup.dark div.titlePane .title,

      .esriPopup.dark div.actionsPane .action {

        color: #A4CE67;

      }

      /* Additional customizations */

      .esriPopup.dark .esriPopupWrapper {

        border: none;

      }

      .esriPopup .contentPane {

        text-align: left;

      }

      .esriViewPopup .gallery {

        margin: 0 auto;

      }

    </style>

    <script src="http://js.arcgis.com/3.13/"></script>

    <script>

      var map;

      require([

        "esri/map",

        "esri/dijit/Popup", "esri/dijit/PopupTemplate",

        "esri/layers/FeatureLayer",

        "esri/dijit/Search",

        "esri/tasks/QueryTask",

        "esri/tasks/query",

        "esri/symbols/SimpleFillSymbol", "esri/Color",

        "dojo/dom-class", "dojo/dom-construct", "dojo/on",

        "dojox/charting/Chart", "dojox/charting/themes/Dollar",

        "dojo/domReady!"

      ], function(

        Map,

        Popup, PopupTemplate,

        FeatureLayer, Search,

        SimpleFillSymbol, Color,

        QueryTask, Query,

        domClass, domConstruct, on,

        Chart, theme

      ) {

        //The popup is the default info window so you only need to create the popup and

        //assign it to the map if you want to change default properties. Here we are

        //noting that the specified title content should display in the header bar

        //and providing our own selection symbol for polygons.

        var fill = new SimpleFillSymbol("solid", null, new Color("#A4CE67"));

        var popup = new Popup({

            fillSymbol: fill,

            titleInBody: false

        }, domConstruct.create("div"));

        //Add the dark theme which is customized further in the <style> tag at the top of this page

        domClass.add(popup.domNode, "lighter");

        map = new Map("map", {

          basemap: "satellite",

          center: [79.2, 18.10],

          zoom: 8,

          infoWindow: popup

        });

       

        var template = new PopupTemplate({

          title: "TELANGANA PATTA APPLICANTS",

          description: "Application No: {application_no} <br> <br>DISTRICT: {district_name1} <br><br>MANDAL: {mandal_name1}<br><br> VILLAGE: {village_name1} <br><br>  OCCUPANT NAME: {name_of_the_occupant} <br><br>ADDRESS: {present_address} <br><br> Survey No.: {survey_no} <br><br> LAND EXTENT: {extent_of_land} <br>",

        

       

        });

        var featureLayer = new FeatureLayer("http://gisserver.cgg.gov.in/arcgis/rest/services/sample/elands/MapServer/0",{

          mode: FeatureLayer.MODE_ONDEMAND,

          outFields: ["*"],

          infoTemplate: template

        });

        map.addLayer(featureLayer);

       

        var featureLayer2 = new FeatureLayer("http://gisserver.cgg.gov.in/arcgis/rest/services/sample/elands/MapServer/2",{

          mode: FeatureLayer.MODE_ONDEMAND,

          outFields: ["*"]

         

         

        });

        map.addLayer(featureLayer2);

       

        var featureLayer1 = new FeatureLayer("http://gisserver.cgg.gov.in/arcgis/rest/services/sample/elands/MapServer/1",{

          mode: FeatureLayer.MODE_ONDEMAND,

          outFields: ["*"]

         

        });

        map.addLayer(featureLayer1);

                               

      });

     

                     

    queryTask = new QueryTask("http://gisserver.cgg.gov.in/arcgis/rest/services/sample/elands/MapServer/2");

   

    query = new Query();

    query.returnGeometry = true;

    query.outFields = ["*"];

   

   

        function executeQueryTask(population) {

  //set query based on what user typed in for population;

alert(population);

  query.where = "MNAME = '" + population+"'";

  //execute query

  queryTask.execute(query,showResults);

}

function showResults(featureSet) {

  //remove all graphics on the maps graphics layer

  map.graphics.clear();

  //Performance enhancer - assign featureSet array to a single variable.

  var resultFeatures = featureSet.features;

  //Loop through each feature returned

  for (var i=0, il=resultFeatures.length; i<il; i++) {

    //Get the current feature from the featureSet.

    //Feature is a graphic

    var graphic = resultFeatures;

    graphic.setSymbol(symbol);

    //Set the infoTemplate.

    graphic.setInfoTemplate(infoTemplate);

    //Add graphic to the map graphics layer.

    map.graphics.add(graphic);

  }

}

    </script>

  </head>

 

  <body class="claro">

 

  

  <form name="classic">

<select name="countries" size="4" onChange="updatecities(this.selectedIndex)" style="width: 150px">

<option selected>Select A DISTRICT</option>

<option value="1">ADILABAD</option>

<option value="2">KARIMNAGAR</option>

<option value="3">KHAMMAM</option>

<option value="4">MAHABUBNAGAR</option>

<option value="5">MEDAK</option>

<option value="6">NALGONDA</option>

<option value="7">NIZAMABAD</option>

<option value="8">RANGA REDDY</option>

<option value="9">WARANGAL</option>

<option value="10">HYDERABAD</option>

</select>

Mandals:

<select name="cities" size="4" style="width: 150px" onClick="executeQueryTask(this.options[this.options.selectedIndex].value);">  <!-- alert(this.options[this.options.selectedIndex].value) -->

</select>

</form>

<script type="text/javascript">

var countrieslist=document.classic.countries

var citieslist=document.classic.cities

var cities=new Array()

cities[0]=""

cities[1]=["ADILABAD ", "    ASIFABAD ", "    BAZARHATHNOOR ", "    BEJJUR ", "    BELA ", "    BELLAMPALLE ", "    BHAINSA ", "    BHEEMINI  ", " BOATH ", "    CHENNUR ", "    DAHEGAON ", "    DANDEPALLE ", "    DILAWARPUR ", "    GUDIHATHNUR ", "    ICHODA ", "    INDERAVELLY ", "    JAINAD ", "    JAINOOR ", "    JAIPUR ", "    JANNARAM ", "    KADDAMPEDDUR ", "    KAGAZ NAGAR ", "    KASIPET ", "    KERAMERI ", "    KHANPUR     ", "    KOTAPALLE ", "    KOUTHALA ", "    KUBEER ", "    KUNTALA ", "    LAXMANCHANDA    ", "    LOHESRA ", "    LUXETTIPET     ", "    MAMDA     ", "    MANCHERIAL ", "        MANDAMARRI ", "        MUDHOLE     ", "    NARNOOR ", "    NENNAL ", "    NERADIGONDA ", "    NIRMAL ", "    REBBANA ", "    SARANGAPUR ", "    SIRPUR (T) ", "    SIRPUR (U) ", "    TALAMADUGU ", "    TAMSI     ", "    TANDUR ", "    TANUR ", " TIRYANI  ", "    UTNUR     ", "    VEMANPALLE     ", "    WANKDI"]

cities[2]=["BEJJANKI", "BHEEMADEVARPALLE", "BOINPALLE", "CHANDURTHI", "CHIGURUMAMIDI", "CHOPPADANDI", "DHARMAPURI", "DHARMARAM", "ELKATHURTHI", "ELLANTHAKUNTA", "GAMBHIRAOPET", "GANGADHARA", "GOLLAPALLE", "HUSNABAD", "HUZURABAD", "IBRAHIMPATNAM", "JAGTIAL", "JAMMIKUNTA", "JULAPALLE", "KAMALAPUR", "KAMANPUR", "KARIMNAGAR", "KATARAM", "KATHLAPUR", "KESAVAPATNAM", "KODIMIAL", "KOHEDA", "KONARAOPETA", "KORATLA", "MAHADEVPUR", "MALHARRAO", "MALLAPUR", "MALLIAL", "MANAKONDUR", "MANTHANI", "MEDIPALLE", "METPALLE", "MUSTABAD", "MUTHARAM MAHADEVPUR", "MUTHARAM MANTHANI", "ODELA", "PEDDAPALLE", "PEGADAPALLE", "RAIKAL", "RAMADUGU", "RAMAGUNDAM", "SAIDAPUR", "SARANGAPUR", "SIRSILLA", "SRIRAMPUR", "SULTANABAD", "THIMMAPUR", "VEENAVANKA", "VELGATOOR", "VEMULAWADA", "YELLA REDDI PETA"]

cities[3]=["ASWAPURAM", "ASWARAOPETA", "BAYYARAM", "BHADRACHALAM", "BONAKAL", "BURGAMPADU", "CHANDRUGONDA", "CHERLA", "CHINTHAKANI", "DAMMAPETA", "DUMMUGUDEM", "ENKURU", "GARLA", "GUNDALA", "JULURPAD", "KALLURU", "KAMEPALLE", "KHAMMAM RURAL", "KHAMMAM URBAN", "KONIJERLA", "KOTHAGUDEM", "KUSUMANCHI", "MADHIRA", "MANUGURU", "MUDIGONDA", "MULAKALAPALLE", "NELAKONDAPALLE", "PALAWANCHA", "PENUBALLI", "PINAPAKA", "SATHUPALLE", "SINGARENI", "TEKULAPALLE", "THALLADA", "THIRUMALAYAPALEM", "VEMSOOR", "VENKATAPURAM", "WAZEED", "WYRA", "YELLANDU", "YERRUPALEM"]

cities[4]=["ACHAMPETA", "ADDAKAL", "AIZA", "ALAMPUR", "AMANGAL", "AMRABAD", "ATMAKUR", "BALANAGAR", "BALMOOR", "BHOOTHPUR", "BIJINAPALLE", "BOMRASPETA", "CHINNA CHINTA KUNTA", "DAMARAGIDDA", "DEVARKADARA", "DHANWADA", "DHARUR", "DOULATABAD", "FAROOQNAGAR", "GADWAL", "GHANPUR", "GHATTU", "GOPALPETA", "HANWADA", "ITIKYAL", "JADCHERLA", "KALAWAKURTHY", "KESHAMPETA", "KODAIR", "KOILKONDA", "KOLLAPUR", "KONDANGAL", "KONDURG", "KOSGI", "KOTHAKONTA", "KOTHUR", "LINGAL", "MADDUR", "MADGUL", "MAGANOOR", "MAHABUBNAGAR", "MAKTHAL", "MALADAKAL", "MANOPADU", "MIDJIL", "NAGAR KURNOOL", "NARAYANPET", "NARVA", "NAWABPET", "PANGAL", "PEBBAIR", "PEDDAKOTHAPALLE", "PEDDAMANDADI", "TADOOR", "TALAKONDAPALLE", "TELKAPALLE", "THIMMAJIPETA", "UPPUNUNTHALA", "UTKOOR", "VANGOOR", "VEEPANGANDLA", "VELDANDA", "WADDEPALLE", "WANAPARTHY"]

cities[5]=["ALLADURG", "ANDOLE", "CHEGUNTA", "CHINNAKODUR", "DOULTHABAD", "DUBBAK", "GAJWEL", "HATHNOORA", "JAGDEVPUR", "JHARASANGAM", "JINNARAM", "KALHER", "KANGTI", "KOHIR", "KONDAPAK", "KONDAPUR", "KOWDIPALLI", "KULCHARAM", "MANOOR", "MEDAK", "MIRDODDI", "MULUGU", "MUNIPALLE", "NANGNUR", "NARAYANKHED", "NARSAPUR", "NYALKAL", "PAPANNAPET", "PATANCHERU", "PULKAL", "RAIKODE", "RAMACHANDRAPURAM", "RAMAYAMPET", "REGODE", "SADASIVPET", "SANGAREDDY", "SHANKARAMPET(A)", "SHANKARAMPET(R)", "SHIVAMPET", "SIDDIPET", "TEKMAL", "TOOPRAN", "WARGAL", "YELDURTHI", "ZAHIRABAD"]

cities[6]=["ALAIR", "ANUMULA", "ATMAKUR  (S)", "ATMAKUR (M)", "BHUVANAGIRI", "BIBINAGAR", "BOMMALARAMARAM", "CHANDAM PET", "CHANDUR", "CHILKUR", "CHINTHA PALLE", "CHITYALA", "CHIVVEMLA", "CHOUTUPPAL", "DAMERACHERLA", "DEVARAKONDA", "GARIDE PALLE", "GUNDALA", "GUNDLA PALLE", "GURRAMPODE", "HUZURNAGAR", "JAJI REDDI GUDEM", "KANGAL", "KATTANGOOR", "KETHEPALLE", "KODAD", "M TURKAPALLE", "MARRI GUDA", "MATTAMPALLE", "MELLACHERVU", "MIRYALAGUDA", "MOTHEY", "MOTHKUR", "MUNAGALA", "MUNUGODE", "NADIGUDEM", "NAKREKAL", "NALGONDA", "NAMPALLE", "NARAYANAPUR", "NARKETPALLE", "NERED CHERLA", "NIDAMANUR", "NUTHANKAL", "PEDDA ADISERLAPALLE", "PEDDAVURA", "PENPAHAD", "POCHAMPALLE", "RAJAPET", "RAMANNAPETA", "SALIGOURARAM", "SURYAPET", "THIPPARTHI", "THIRUMALAGIRI", "THRIPURARAM", "THUNGA THURTHI", "VALIGONDA", "VEMULAPALLE", "YADAGIRIGUTTA"]

cities[7]=["ARMUR", "BALKONDA", "BANSWADA", "BHEEMGAL", "BHIKNUR", "BICHKUNDA", "BIRKOOR", "BODHAN", "DHARPALLE", "DICH PALLE", "DOMAKONDA", "GANDHARI", "JAKRANPALLE", "JUKKAL", "KAMAREDDY", "KAMMAR PALLE", "KOTGIRI", "LINGAMPET", "MACHAREDDY", "MADNUR", "MAKLOOR", "MORTAD", "NAGA REDDIPET", "NANDIPET", "NAVIPET", "NIZAM SAGAR", "NIZAMABAD", "NIZAMABAD (M)", "PITLAM", "RANJAL", "SADASIVANAGAR", "SIRKONDA", "TADWAI", "VARNI", "VELPUR", "YEDA PALLE", "YELLAREDDY"]

cities[8]=["BALANAGAR", "BANTARAM", "BASHEERABAD", "CHEVELLA", "DHARUR", "DOMA", "GANDEED", "GHATKESAR", "HAYATHNAGAR", "IBRAHIMPATAM", "IBRAHIMPATNAM", "KANDUKUR", "KEESARA", "KULKACHARLA", "MAHESWARAM", "MALKAJGIRI", "MANCHAL", "MARPALLE", "MEDCHAL", "MOINABAD", "MOMINPET", "NAWABPET", "PARGI", "PEDDEMUL", "PUDUR", "QUTHBULLAPUR", "RAJENDRANAGAR", "SAROORNAGAR", "SERLINGAMPALLY", "SHABAD", "SHAMIRPET", "SHAMSHABAD", "SHANKARPALLE", "TANDUR", "UPPAL", "VIKARABAD", "YACHARAM", "YELAL"]

cities[9]=["ATMAKUR", "BACHANNAPETA", "BHUPALPALLE", "CHENNARAOPET", "CHERIYAL", "CHITYAL", "DEVARUPPULA", "DHARMASAGAR", "DORNAKAL", "DUGGONDI", "ETURNAGARAM", "GEESUGONDA", "GHANAPUR", "GHANPUR(stn)", "GOVINDARAOPET", "GUDUR", "HANAMKONDA", "HASANPARTHY", "JANGAON", "KESAMUDRAM", "KHANAPUR", "KODAKANDLA", "KOTHAGUDEM", "KURAVI", "LINGALA GHANPUR", "MADDUR", "MAHABUBABAD", "MANGAPET", "MARIPEDA", "MOGULLAPALLE", "MULUG", "NALLABELLY", "NARMETTA", "NARSAMPET", "NARSIMHULAPET", "NEKKONDA", "NELLIKUDUR", "PALAKURTHI", "PARKAL", "PARVATHAGIRI", "RAGHUNATHA PALLE", "RAIPARTHY", "REGONDA", "SANGEM", "TADVAI", "THORRUR", "VENKATAPUR", "WARANGAL", "WARDHANNAPET", "ZAFFERGADH"]

cities[10]=["HYDERABAD"]

function updatecities(selectedcitygroup){

    citieslist.options.length=0

    if (selectedcitygroup>0){

        for (i=0; i<cities[selectedcitygroup].length; i++)

            citieslist.options[citieslist.options.length]=new Option(cities[selectedcitygroup].split("|")[0], cities[selectedcitygroup].split("|")[1])

    }

}

</script>

 

    <div id="map"></div>

   

  </body>

</html>

0 Kudos
1 Reply
RobertScheitlin__GISP
MVP Emeritus

Satyanarayana,

    One of the first things you will learn when working with the JS API is that the order of your Reuires and your vars have to match:

This is the correct order:

       require([
        "esri/map",
        "esri/dijit/Popup", "esri/dijit/PopupTemplate",
        "esri/layers/FeatureLayer",
        "esri/dijit/Search",
        "esri/tasks/QueryTask",
        "esri/tasks/query",
        "esri/symbols/SimpleFillSymbol", "esri/Color",
        "dojo/dom-class", "dojo/dom-construct", "dojo/on",
        "dojox/charting/Chart", "dojox/charting/themes/Dollar",
        "dojo/domReady!"
      ], function(
        Map,
        Popup, PopupTemplate,
        FeatureLayer, Search,
        QueryTask, Query,
        SimpleFillSymbol, Color,
        domClass, domConstruct, on,
        Chart, theme
      ) {