<?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: Clicking markers on iPad in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159766#M14901</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I'm surprised hover handlers are firing at all�?? that's why I asked about your popup.&lt;BR /&gt;&lt;BR /&gt;Can you post a repro case that shows this?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You were right about not wanting hover handlers.&amp;nbsp; Not installing mouseover handlers on iPad made onClick start working:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Detect iPad
&amp;nbsp;&amp;nbsp;&amp;nbsp; app.isiPad = navigator.userAgent.match(/iPad/i) != null;

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Mouseovers for tooltips, unless iPad
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!app.isiPad) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonMouseOver = dojo.connect(layer, "onMouseOver", layerUI.tooltipShow);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonMouseMove = dojo.connect(layer, "onMouseMove", layerUI.tooltipUpdate);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonMouseOut = dojo.connect(layer, "onMouseOut", layerUI.tooltipClose);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Connect the click handler too.&amp;nbsp; Now in iPad this fires, where it didn't before when mouseover handlers were on.
&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonClick = dojo.connect(layer, "onClick", function(evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerUI.handleClick(evt);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 08:25:40 GMT</pubDate>
    <dc:creator>RexBradford</dc:creator>
    <dc:date>2021-12-11T08:25:40Z</dc:date>
    <item>
      <title>Clicking markers on iPad</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159760#M14895</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm testing a map on the iPad, and almost everything works.&amp;nbsp; This is developed using regular javascript framework, not the IOS one.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can pan and zoom the map with my finger, and double-click to zoom in.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But it's very hard to click on a marker to bring up an infowindow.&amp;nbsp; The first click acts like a hover, bringing up the tooltip.&amp;nbsp; Then if you click again on the same marker, you get the real "click" event that fires the infowindow.&amp;nbsp; But if the second click lands on some other marker, you get the hover/tooltip on that instead.&amp;nbsp; In a crowded area, it becomes almost impossible to get an infowindow to appear.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I understand that a touchscreen has to somehow deal with the fact that hover and click and intertwingled.&amp;nbsp; But I wanted to know if the above is "as designed and expected", or whether it should be behaving in some better way.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Code looks something like this (the layer is a Graphics layer):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonMouseOver = dojo.connect(layer, "onMouseOver", layerUI.tooltipShow);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonMouseMove = dojo.connect(layer, "onMouseMove", layerUI.tooltipUpdate);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonMouseOut = dojo.connect(layer, "onMouseOut", layerUI.tooltipClose);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// On iPad, very hard to get the onClick to fire in a crowded area&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonClick = dojo.connect(layer, "onClick", function(evt) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerUI.handleClick(evt);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Rex Bradford&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Direct Relief International&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Feb 2012 17:13:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159760#M14895</guid>
      <dc:creator>RexBradford</dc:creator>
      <dc:date>2012-02-13T17:13:52Z</dc:date>
    </item>
    <item>
      <title>Re: Clicking markers on iPad</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159761#M14896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Rex,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My thoughts are that when developing for a touch based app you shouldn't be depending on hover events as those do not exist/are unreliable. Are you able to use onClick in your app instead?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Feb 2012 17:16:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159761#M14896</guid>
      <dc:creator>derekswingley1</dc:creator>
      <dc:date>2012-02-13T17:16:06Z</dc:date>
    </item>
    <item>
      <title>Re: Clicking markers on iPad</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159762#M14897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Hi Rex,&lt;BR /&gt;&lt;BR /&gt;My thoughts are that when developing for a touch based app you shouldn't be depending on hover events as those do not exist/are unreliable. Are you able to use onClick in your app instead?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for quick reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using onClick to bring up the info window.&amp;nbsp; The problem is that the onClick only fires if I touch a marker twice in succession.&amp;nbsp; It seems touch 1 activates hover, and touch 2 activates onclick.&amp;nbsp; And if the second touch hits another marker (easy if crowded), then I get two hovers.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you saying I should detect iPad and turn off the hovers and respond to onClick?&amp;nbsp; Would turning off hover handlers cause onClick to fire on first touch?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Rex Bradford&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Direct Relief International&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Feb 2012 18:00:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159762#M14897</guid>
      <dc:creator>RexBradford</dc:creator>
      <dc:date>2012-02-13T18:00:16Z</dc:date>
    </item>
    <item>
      <title>Re: Clicking markers on iPad</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159763#M14898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm curious about your popup. What does your popup consist of?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Feb 2012 18:46:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159763#M14898</guid>
      <dc:creator>derekswingley1</dc:creator>
      <dc:date>2012-02-13T18:46:28Z</dc:date>
    </item>
    <item>
      <title>Re: Clicking markers on iPad</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159764#M14899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I'm curious about your popup. What does your popup consist of?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It really doesn't matter.&amp;nbsp; It's a standard ESRI InfoWindow with text in it.&amp;nbsp; It works fine, the problem is the fact that the code which creates it doesn't get called, because onClick doesn't get generated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In earlier email you implied that if I turned off hover handlers, then maybe a tap would be interpreted as onClick rather than onMouseOver.&amp;nbsp; Is this true?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Rex&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Feb 2012 19:56:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159764#M14899</guid>
      <dc:creator>RexBradford</dc:creator>
      <dc:date>2012-02-13T19:56:45Z</dc:date>
    </item>
    <item>
      <title>Re: Clicking markers on iPad</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159765#M14900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm surprised hover handlers are firing at all�?? that's why I asked about your popup.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you post a repro case that shows this?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Feb 2012 21:14:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159765#M14900</guid>
      <dc:creator>derekswingley1</dc:creator>
      <dc:date>2012-02-13T21:14:07Z</dc:date>
    </item>
    <item>
      <title>Re: Clicking markers on iPad</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159766#M14901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I'm surprised hover handlers are firing at all�?? that's why I asked about your popup.&lt;BR /&gt;&lt;BR /&gt;Can you post a repro case that shows this?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You were right about not wanting hover handlers.&amp;nbsp; Not installing mouseover handlers on iPad made onClick start working:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Detect iPad
&amp;nbsp;&amp;nbsp;&amp;nbsp; app.isiPad = navigator.userAgent.match(/iPad/i) != null;

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Mouseovers for tooltips, unless iPad
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!app.isiPad) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonMouseOver = dojo.connect(layer, "onMouseOver", layerUI.tooltipShow);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonMouseMove = dojo.connect(layer, "onMouseMove", layerUI.tooltipUpdate);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonMouseOut = dojo.connect(layer, "onMouseOut", layerUI.tooltipClose);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Connect the click handler too.&amp;nbsp; Now in iPad this fires, where it didn't before when mouseover handlers were on.
&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.dojoLinkonClick = dojo.connect(layer, "onClick", function(evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerUI.handleClick(evt);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:25:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clicking-markers-on-ipad/m-p/159766#M14901</guid>
      <dc:creator>RexBradford</dc:creator>
      <dc:date>2021-12-11T08:25:40Z</dc:date>
    </item>
  </channel>
</rss>

