<?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 Adding a HomeButton dijit to a page and manually specifying event handler... in Developers Questions</title>
    <link>https://community.esri.com/t5/developers-questions/adding-a-homebutton-dijit-to-a-page-and-manually/m-p/555999#M3737</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have tried to add a HomeButton dijit to my page. However, it won't work if I specify any event listeners on the map object. In other words, if I want to add BOTH a HomeButton, AND a task that specifies event listeners on the map object, like this:&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;&amp;nbsp; // for home button&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var objHome = new HomeButton({map: divMap}, "HomeButton"); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objHome.startup();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // this is how you call 'on' style events in the API&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objMap.on("load", function() &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // for coordinates display - event listeners&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objMap.on("mouse-move", showCoordinates);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objMap.on("mouse-drag", showCoordinates); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // for home button - when home event is fired, execute home() method - currently doesn't work&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objHome.on("home",objHome.home()); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // for coordinates display&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function showCoordinates(evt)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //the map is in web mercator but display coordinates in geographic (lat, long) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mp = webMercatorUtils.webMercatorToGeographic(evt.mapPoint); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //display mouse coordinates&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dom.byId("spanCoordinates").innerHTML = mp.x.toFixed(3) + ", " + mp.y.toFixed(3);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;...It won't work.&lt;/P&gt;&lt;P&gt;What do I need to modify here, to get the HomeButton to work with the showCoordinates code? Again, before you post the code on the &lt;A href="https://developers.arcgis.com/javascript/jssamples/widget_home.html" target="_blank"&gt;HomeButton class definition page&lt;/A&gt; as a solution - that code &lt;STRONG&gt;&lt;EM&gt;WILL NOT WORK&lt;/EM&gt;&lt;/STRONG&gt; if you specify an 'on' function on the map object.&lt;/P&gt;&lt;P&gt;Thanx.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 16 Apr 2016 22:57:14 GMT</pubDate>
    <dc:creator>JohnBonifas1</dc:creator>
    <dc:date>2016-04-16T22:57:14Z</dc:date>
    <item>
      <title>Adding a HomeButton dijit to a page and manually specifying event handler...</title>
      <link>https://community.esri.com/t5/developers-questions/adding-a-homebutton-dijit-to-a-page-and-manually/m-p/555999#M3737</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have tried to add a HomeButton dijit to my page. However, it won't work if I specify any event listeners on the map object. In other words, if I want to add BOTH a HomeButton, AND a task that specifies event listeners on the map object, like this:&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;&amp;nbsp; // for home button&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var objHome = new HomeButton({map: divMap}, "HomeButton"); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objHome.startup();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // this is how you call 'on' style events in the API&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objMap.on("load", function() &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // for coordinates display - event listeners&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objMap.on("mouse-move", showCoordinates);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objMap.on("mouse-drag", showCoordinates); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // for home button - when home event is fired, execute home() method - currently doesn't work&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objHome.on("home",objHome.home()); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // for coordinates display&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function showCoordinates(evt)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //the map is in web mercator but display coordinates in geographic (lat, long) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mp = webMercatorUtils.webMercatorToGeographic(evt.mapPoint); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //display mouse coordinates&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dom.byId("spanCoordinates").innerHTML = mp.x.toFixed(3) + ", " + mp.y.toFixed(3);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;...It won't work.&lt;/P&gt;&lt;P&gt;What do I need to modify here, to get the HomeButton to work with the showCoordinates code? Again, before you post the code on the &lt;A href="https://developers.arcgis.com/javascript/jssamples/widget_home.html" target="_blank"&gt;HomeButton class definition page&lt;/A&gt; as a solution - that code &lt;STRONG&gt;&lt;EM&gt;WILL NOT WORK&lt;/EM&gt;&lt;/STRONG&gt; if you specify an 'on' function on the map object.&lt;/P&gt;&lt;P&gt;Thanx.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Apr 2016 22:57:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/adding-a-homebutton-dijit-to-a-page-and-manually/m-p/555999#M3737</guid>
      <dc:creator>JohnBonifas1</dc:creator>
      <dc:date>2016-04-16T22:57:14Z</dc:date>
    </item>
    <item>
      <title>Re: Adding a HomeButton dijit to a page and manually specifying event handler...</title>
      <link>https://community.esri.com/t5/developers-questions/adding-a-homebutton-dijit-to-a-page-and-manually/m-p/556000#M3738</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;...Never mind, I figured it out.&lt;/P&gt;&lt;P&gt;You can't use the default dijit members of the HomeButton class because of the map object event delegation.&lt;/P&gt;&lt;P&gt;The following code worked:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;// define an event handler for the 'home' event on the HomeButton dijit
objHome.on("home", handleHomeButton);
// now implement the handler function.
function handleHomeButton(evt)
{
&amp;nbsp; // objHome.home(); // you can't call it this way. This method will not work in this context.
&amp;nbsp; // instead, you call the centerAt method of the map object. strLongitude and strLatitude are floats.
&amp;nbsp; objMap.centerAt([strLongitude, strLatitude]);
}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 16:37:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/adding-a-homebutton-dijit-to-a-page-and-manually/m-p/556000#M3738</guid>
      <dc:creator>JohnBonifas1</dc:creator>
      <dc:date>2021-12-12T16:37:36Z</dc:date>
    </item>
  </channel>
</rss>

