<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to call a button to work from JavaScript API file in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578578#M54024</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;After adding parser.parse(), there is new issue about adding graphics, it indicates that "Cannot read property 'graphics' of undefined&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function addGraphic(evt) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic = new Graphic(evt.geometry, symbol); &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.map.graphics.add(graphic);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;graphics is a property of map object, and I already use paresr.parse(), why it cannot read graphics? Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 15 Sep 2014 22:36:03 GMT</pubDate>
    <dc:creator>LeiZhou</dc:creator>
    <dc:date>2014-09-15T22:36:03Z</dc:date>
    <item>
      <title>How to call a button to work from JavaScript API file</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578576#M54022</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to create a group of draw tools like point, freehandpolyline and freehandpolygon in a ESRI's JavaScript map template.&amp;nbsp; I set up three buttons in the index.html as the following:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #800000; font-size: 10pt; font-family: Consolas;"&gt;&amp;lt;button&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Consolas;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #ff0000; font-size: 10pt; font-family: Consolas;"&gt;id&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;="point"&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Consolas;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #ff0000; font-size: 10pt; font-family: Consolas;"&gt;data-dojo-type&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;="dijit/form/Button"&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #800000; font-size: 10pt; font-family: Consolas;"&gt;button&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #800000; font-size: 10pt; font-family: Consolas;"&gt;button&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Consolas;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #ff0000; font-size: 10pt; font-family: Consolas;"&gt;id&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;="freehandpolyline"&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Consolas;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #ff0000; font-size: 10pt; font-family: Consolas;"&gt;data-dojo-type&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;="dijit/form/Button"&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #800000; font-size: 10pt; font-family: Consolas;"&gt;button&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #800000; font-size: 10pt; font-family: Consolas;"&gt;button&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Consolas;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #ff0000; font-size: 10pt; font-family: Consolas;"&gt;id&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;="freehandpolygon"&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Consolas;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #ff0000; font-size: 10pt; font-family: Consolas;"&gt;data-dojo-type&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;="dijit/form/Button"&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #800000; font-size: 10pt; font-family: Consolas;"&gt;button&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 10pt; font-family: Consolas;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After that I tried to registered these buttons in a file called 'main.js' inside the js folder of the template. &lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14108103067899818 jive_text_macro" jivemacro_uid="_14108103067899818" modifiedtitle="true"&gt;var tb = new Draw(this.map); registry.byId("point").on("click", function () { tb.activate(this.id); }); &lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But&amp;nbsp; it just can not call this&amp;nbsp; button at all.&amp;nbsp; The debug tools indicate that "cannot read property 'on' of undefined. Any hint would be helpful. Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 19:56:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578576#M54022</guid>
      <dc:creator>LeiZhou</dc:creator>
      <dc:date>2014-09-15T19:56:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to call a button to work from JavaScript API file</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578577#M54023</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Did you require &lt;EM&gt;dojo/parser&lt;/EM&gt; and &lt;EM&gt;diji/form/Button&lt;/EM&gt; in your main.js file?&lt;/P&gt;&lt;P&gt;If you don't set parseOnLoad; true in your dojoConfig, you'll need to do parser.parse() before anything else.&lt;/P&gt;&lt;P&gt;&lt;A href="http://dojotoolkit.org/reference-guide/1.10/dijit/form/Button.html" title="http://dojotoolkit.org/reference-guide/1.10/dijit/form/Button.html"&gt;dijit/form/Button — The Dojo Toolkit - Reference Guide&lt;/A&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 20:00:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578577#M54023</guid>
      <dc:creator>ReneRubalcava</dc:creator>
      <dc:date>2014-09-15T20:00:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to call a button to work from JavaScript API file</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578578#M54024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;After adding parser.parse(), there is new issue about adding graphics, it indicates that "Cannot read property 'graphics' of undefined&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function addGraphic(evt) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic = new Graphic(evt.geometry, symbol); &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.map.graphics.add(graphic);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;graphics is a property of map object, and I already use paresr.parse(), why it cannot read graphics? Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 22:36:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578578#M54024</guid>
      <dc:creator>LeiZhou</dc:creator>
      <dc:date>2014-09-15T22:36:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to call a button to work from JavaScript API file</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578579#M54025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The error indicates that &lt;EM&gt;this.map&lt;/EM&gt; has not been defined at the time the addGraphic function runs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is the function being called before the map is created?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may need to check if &lt;EM&gt;this.map&lt;/EM&gt; is undefined before calling the addGraphic function. You could also look into the &lt;A href="https://developers.arcgis.com/javascript/jsapi/map-amd.html#event-load"&gt;map load event&lt;/A&gt; and define your button click handlers after the map loads.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 22:51:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578579#M54025</guid>
      <dc:creator>OwenEarley</dc:creator>
      <dc:date>2014-09-15T22:51:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to call a button to work from JavaScript API file</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578580#M54026</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Sep 2014 15:19:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578580#M54026</guid>
      <dc:creator>LeiZhou1</dc:creator>
      <dc:date>2014-09-16T15:19:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to call a button to work from JavaScript API file</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578581#M54027</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you very much! I checked the link you sent to me, and I am trying to figure out how to tell a map is loaded.&amp;nbsp; Can I just use " this.map.on("load");" to load the map? Before addGraphic function(), some other statements already call the map like " this.map.addLayer(layer1);".&amp;nbsp; If they addLayer method can work, why this.map.graphics.add(graphics) is not working? Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Sep 2014 15:23:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578581#M54027</guid>
      <dc:creator>LeiZhou1</dc:creator>
      <dc:date>2014-09-16T15:23:42Z</dc:date>
    </item>
    <item>
      <title>Re: How to call a button to work from JavaScript API file</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578582#M54028</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This example from the &lt;A href="https://developers.arcgis.com/javascript/jsapi/map-amd.html#graphics"&gt;API documentation&lt;/A&gt; shows adding a graphic when the map loads:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14109074770977649" jivemacro_uid="_14109074770977649" modifiedtitle="true"&gt;
&lt;P&gt;require([&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "esri/map", "esri/geometry/Point", "esri/SpatialReference",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "esri/symbols/SimpleMarkerSymbol", "esri/graphic", ... &lt;/P&gt;
&lt;P&gt;], function(Map, Point, SpatialReference, SimpleMarkerSymbol, Graphic, ... ) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; var map = new Map( ... );&lt;/P&gt;
&lt;P&gt;&amp;nbsp; map.on("load", function() { ShowLocation(-81.3765, 28.54175); });&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; function ShowLocation(x, y) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var point = new Point(x, y, new SpatialReference({wkid:4326}));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var simpleMarkerSymbol = new SimpleMarkerSymbol();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic = new Graphic(point, simpleMarkerSymbol);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.add(graphic);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; };&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ...&lt;/P&gt;
&lt;P&gt;});&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is hard to determine why other statements are working without viewing the your source code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Sep 2014 23:35:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-call-a-button-to-work-from-javascript-api/m-p/578582#M54028</guid>
      <dc:creator>OwenEarley</dc:creator>
      <dc:date>2014-09-16T23:35:03Z</dc:date>
    </item>
  </channel>
</rss>

