<?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: Query on ArcGISDynamicMapServiceLayer in ArcGIS Runtime SDK for Android Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633130#M4374</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi andrewb,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My code worked fine (grabbed a point successfully) after I used AsyncTask!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you so much for your help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For reference, I will put my new code here (the code does not good at all, but for somebody's references...).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gakumin&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;You are trying to execute a query on the main UI Thread.&amp;nbsp; This is not allowed.&amp;nbsp; Try using an AsyncTask.&amp;nbsp; &lt;BR /&gt;&lt;A href="http://developer.android.com/reference/android/os/AsyncTask.html" rel="nofollow noopener noreferrer" target="_blank"&gt;http://developer.android.com/reference/android/os/AsyncTask.html&lt;BR /&gt;&lt;BR /&gt;Y&lt;/A&gt;ou can also import the QueryTask Android Sample in Eclipse. This will point you in the right direction.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
//Set a default tap action as pop-up
&amp;nbsp; Map_view.setOnSingleTapListener(new OnSingleTapListener() {
&amp;nbsp;&amp;nbsp; private static final long serialVersionUID = 1L;
&amp;nbsp;&amp;nbsp; public void onSingleTap(float x_v, float y_v) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; Point point = Map_view.toMapPoint(x_v, y_v);
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Tolerance: 20 pixel
&amp;nbsp;&amp;nbsp;&amp;nbsp; Envelope env_v = new Envelope(point,20*Map_view.getResolution(), 20*Map_view.getResolution()); 
&amp;nbsp;&amp;nbsp;&amp;nbsp; new setDefaultTapActions_popup(env_v, dmsl_v.getSpatialReference(), point).execute(".../MapServer/0");
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; });

//Query dynamic map service layer by QueryTask(Modified from "PopupInWebmapForViewing.java")
 private class setDefaultTapActions_popup extends AsyncTask&amp;lt;String, Void, FeatureSet&amp;gt; {
&amp;nbsp; 
&amp;nbsp; private Envelope env_v;
&amp;nbsp; private SpatialReference sr;
&amp;nbsp; private Point point;
&amp;nbsp; 
&amp;nbsp; public setDefaultTapActions_popup(Envelope env_v, SpatialReference sr, Point point) { 
&amp;nbsp;&amp;nbsp; super();
&amp;nbsp;&amp;nbsp; this.env_v = env_v;
&amp;nbsp;&amp;nbsp; this.sr = sr;
&amp;nbsp;&amp;nbsp; this.point = point;
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; @Override
&amp;nbsp; protected FeatureSet doInBackground(String... params) {
&amp;nbsp;&amp;nbsp; //Set query parameters
&amp;nbsp;&amp;nbsp; Query query = new Query();
&amp;nbsp;&amp;nbsp; query.setInSpatialReference(sr);
&amp;nbsp;&amp;nbsp; query.setOutSpatialReference(sr);
&amp;nbsp;&amp;nbsp; query.setGeometry(env_v);
&amp;nbsp;&amp;nbsp; //For now, max number of returned features is 10.
&amp;nbsp;&amp;nbsp; query.setMaxFeatures(10);
&amp;nbsp;&amp;nbsp; query.setOutFields(new String[] { "*" });
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; QueryTask queryTask = new QueryTask("..../MapServer/0");
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //Execute query task
&amp;nbsp;&amp;nbsp; try {
&amp;nbsp;&amp;nbsp;&amp;nbsp; FeatureSet fs_view = queryTask.execute(query);
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get an array of graphics of the query result FeatureSet
&amp;nbsp;&amp;nbsp;&amp;nbsp; Graphic[] resultGraphic = fs_view.getGraphics();
&amp;nbsp;&amp;nbsp;&amp;nbsp; View popupView = createPopupView(resultGraphic[0]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; callout.show(point, popupView);

&amp;nbsp;&amp;nbsp; } catch (Exception e) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO Auto-generated catch block
&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();
&amp;nbsp;&amp;nbsp; } 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; // TODO Auto-generated method stub
&amp;nbsp;&amp;nbsp; return null;
&amp;nbsp; }

&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 02:56:16 GMT</pubDate>
    <dc:creator>GakuminKato</dc:creator>
    <dc:date>2021-12-12T02:56:16Z</dc:date>
    <item>
      <title>Query on ArcGISDynamicMapServiceLayer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633127#M4371</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to query a point data on ArcGISDynamicMapServiceLayer with a single tap. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;However, FeatureSet "fs_view" does not seem to catch anything with "queryTask.execute(query)"...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And the program goes to the line of "catch"(Exception e). &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have checked the followings with debugging.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- "env_v" has 2D envelope&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- "queryTask" and "query" have values in them&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- ???e??? has values. Please see attached jpg file&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For now, in order to make code simple, only one element of "resultGraphic" is dealt with.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am very new to development of applications, so I may miss very simple and fundamental components in my code. Please excuse me.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am very grateful if anybody helped me out. I do not know around me any android developers who are familiar with ArcGIS Android SDK...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you in advance,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gakumin&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt; public void setDefaultTapActions_popup(){ &amp;nbsp; Map_view.setOnSingleTapListener(new OnSingleTapListener() { &amp;nbsp;&amp;nbsp; private static final long serialVersionUID = 1L; &amp;nbsp;&amp;nbsp; private Context context; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; @Override &amp;nbsp;&amp;nbsp; public void onSingleTap(float x_v, float y_v) { &amp;nbsp;&amp;nbsp;&amp;nbsp; Point point = Map_view.toMapPoint(x_v, y_v); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Tolerance: 20 pixel &amp;nbsp;&amp;nbsp;&amp;nbsp; Envelope env_v = new Envelope(point,20*Map_view.getResolution(), 20*Map_view.getResolution());&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //Set query task &amp;nbsp;&amp;nbsp;&amp;nbsp; QueryTask queryTask = new QueryTask("****/MapServer/0"); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //Set Spatial Reference &amp;nbsp;&amp;nbsp;&amp;nbsp; SpatialReference sr; &amp;nbsp;&amp;nbsp;&amp;nbsp; sr = dmsl_v.getSpatialReference(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //Set query parameters &amp;nbsp;&amp;nbsp;&amp;nbsp; Query query = new Query(); &amp;nbsp;&amp;nbsp;&amp;nbsp; query.setInSpatialReference(sr); &amp;nbsp;&amp;nbsp;&amp;nbsp; query.setOutSpatialReference(sr); &amp;nbsp;&amp;nbsp;&amp;nbsp; query.setGeometry(env_v); &amp;nbsp;&amp;nbsp;&amp;nbsp; //For now, max number of returned features is 10. &amp;nbsp;&amp;nbsp;&amp;nbsp; query.setMaxFeatures(10); &amp;nbsp;&amp;nbsp;&amp;nbsp; query.setOutFields(new String[] { "*" }); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //Execute query task &amp;nbsp;&amp;nbsp;&amp;nbsp; try { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FeatureSet fs_view = queryTask.execute(query); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get an array of graphics of the query result FeatureSet &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Graphic[] resultGraphic = fs_view.getGraphics(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; View popupView = createPopupView(resultGraphic[0]); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; callout.show(point, popupView);&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (Exception e) { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO Auto-generated catch block &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace(); &amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 18 May 2013 19:11:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633127#M4371</guid>
      <dc:creator>GakuminKato</dc:creator>
      <dc:date>2013-05-18T19:11:34Z</dc:date>
    </item>
    <item>
      <title>Re: Query on ArcGISDynamicMapServiceLayer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633128#M4372</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You are trying to execute a query on the main UI Thread.&amp;nbsp; This is not allowed.&amp;nbsp; Try using an AsyncTask.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;A class="jive-link-external-small" href="http://developer.android.com/reference/android/os/AsyncTask.html" rel="nofollow" target="_blank"&gt;http://developer.android.com/reference/android/os/AsyncTask.html&lt;BR /&gt;&lt;BR /&gt;Y&lt;/A&gt;&lt;SPAN&gt;ou can also import the QueryTask Android Sample in Eclipse. This will point you in the right direction.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 May 2013 19:26:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633128#M4372</guid>
      <dc:creator>deleted-user-ATjHIWsdQYmT</dc:creator>
      <dc:date>2013-05-20T19:26:18Z</dc:date>
    </item>
    <item>
      <title>Re: Query on ArcGISDynamicMapServiceLayer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633129#M4373</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi andrewb,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for your comments. I will try that with the AsyncTask.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And, I will let you know how it went once I am done.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gakumin&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;You are trying to execute a query on the main UI Thread.&amp;nbsp; This is not allowed.&amp;nbsp; Try using an AsyncTask.&amp;nbsp; &lt;BR /&gt;&lt;A href="http://developer.android.com/reference/android/os/AsyncTask.html"&gt;http://developer.android.com/reference/android/os/AsyncTask.html&lt;BR /&gt;&lt;BR /&gt;Y&lt;/A&gt;ou can also import the QueryTask Android Sample in Eclipse. This will point you in the right direction.&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 May 2013 21:28:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633129#M4373</guid>
      <dc:creator>GakuminKato</dc:creator>
      <dc:date>2013-05-20T21:28:17Z</dc:date>
    </item>
    <item>
      <title>Re: Query on ArcGISDynamicMapServiceLayer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633130#M4374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi andrewb,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My code worked fine (grabbed a point successfully) after I used AsyncTask!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you so much for your help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For reference, I will put my new code here (the code does not good at all, but for somebody's references...).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gakumin&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;You are trying to execute a query on the main UI Thread.&amp;nbsp; This is not allowed.&amp;nbsp; Try using an AsyncTask.&amp;nbsp; &lt;BR /&gt;&lt;A href="http://developer.android.com/reference/android/os/AsyncTask.html" rel="nofollow noopener noreferrer" target="_blank"&gt;http://developer.android.com/reference/android/os/AsyncTask.html&lt;BR /&gt;&lt;BR /&gt;Y&lt;/A&gt;ou can also import the QueryTask Android Sample in Eclipse. This will point you in the right direction.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
//Set a default tap action as pop-up
&amp;nbsp; Map_view.setOnSingleTapListener(new OnSingleTapListener() {
&amp;nbsp;&amp;nbsp; private static final long serialVersionUID = 1L;
&amp;nbsp;&amp;nbsp; public void onSingleTap(float x_v, float y_v) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; Point point = Map_view.toMapPoint(x_v, y_v);
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Tolerance: 20 pixel
&amp;nbsp;&amp;nbsp;&amp;nbsp; Envelope env_v = new Envelope(point,20*Map_view.getResolution(), 20*Map_view.getResolution()); 
&amp;nbsp;&amp;nbsp;&amp;nbsp; new setDefaultTapActions_popup(env_v, dmsl_v.getSpatialReference(), point).execute(".../MapServer/0");
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; });

//Query dynamic map service layer by QueryTask(Modified from "PopupInWebmapForViewing.java")
 private class setDefaultTapActions_popup extends AsyncTask&amp;lt;String, Void, FeatureSet&amp;gt; {
&amp;nbsp; 
&amp;nbsp; private Envelope env_v;
&amp;nbsp; private SpatialReference sr;
&amp;nbsp; private Point point;
&amp;nbsp; 
&amp;nbsp; public setDefaultTapActions_popup(Envelope env_v, SpatialReference sr, Point point) { 
&amp;nbsp;&amp;nbsp; super();
&amp;nbsp;&amp;nbsp; this.env_v = env_v;
&amp;nbsp;&amp;nbsp; this.sr = sr;
&amp;nbsp;&amp;nbsp; this.point = point;
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; @Override
&amp;nbsp; protected FeatureSet doInBackground(String... params) {
&amp;nbsp;&amp;nbsp; //Set query parameters
&amp;nbsp;&amp;nbsp; Query query = new Query();
&amp;nbsp;&amp;nbsp; query.setInSpatialReference(sr);
&amp;nbsp;&amp;nbsp; query.setOutSpatialReference(sr);
&amp;nbsp;&amp;nbsp; query.setGeometry(env_v);
&amp;nbsp;&amp;nbsp; //For now, max number of returned features is 10.
&amp;nbsp;&amp;nbsp; query.setMaxFeatures(10);
&amp;nbsp;&amp;nbsp; query.setOutFields(new String[] { "*" });
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; QueryTask queryTask = new QueryTask("..../MapServer/0");
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //Execute query task
&amp;nbsp;&amp;nbsp; try {
&amp;nbsp;&amp;nbsp;&amp;nbsp; FeatureSet fs_view = queryTask.execute(query);
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get an array of graphics of the query result FeatureSet
&amp;nbsp;&amp;nbsp;&amp;nbsp; Graphic[] resultGraphic = fs_view.getGraphics();
&amp;nbsp;&amp;nbsp;&amp;nbsp; View popupView = createPopupView(resultGraphic[0]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; callout.show(point, popupView);

&amp;nbsp;&amp;nbsp; } catch (Exception e) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO Auto-generated catch block
&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();
&amp;nbsp;&amp;nbsp; } 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; // TODO Auto-generated method stub
&amp;nbsp;&amp;nbsp; return null;
&amp;nbsp; }

&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:56:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633130#M4374</guid>
      <dc:creator>GakuminKato</dc:creator>
      <dc:date>2021-12-12T02:56:16Z</dc:date>
    </item>
    <item>
      <title>Re: Query on ArcGISDynamicMapServiceLayer</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633131#M4375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can u shre ur whole code. &lt;/P&gt;&lt;P&gt;I need to show callout for a layer.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Mar 2015 08:43:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/query-on-arcgisdynamicmapservicelayer/m-p/633131#M4375</guid>
      <dc:creator>AkshayAnpat</dc:creator>
      <dc:date>2015-03-17T08:43:46Z</dc:date>
    </item>
  </channel>
</rss>

