Vairāk

ArcGIS Android - ArcGISFeatureLayer kļūda: EsriServiceException: Iekšējā servera kļūda

ArcGIS Android - ArcGISFeatureLayer kļūda: EsriServiceException: Iekšējā servera kļūda


Es izstrādāju Android lietojumprogrammu, izmantojot tse ArcGIS SDK Android. Vaicājot par Featurelayer, man ir problēma: Featurelayer, kuru izmantoju, tiek mitināts mūsu ArcGIS Online, un šo kodu es izmantoju vaicājumam:publiskā gala virkne mNonValidatedURL = "http: // LINK-TO-SERVICE / FeatureServer / 0"; QueryParameters qParam = jauni QueryParameters (); qParam.setReturnGeometry (true); qParam.setOutSpatialReference (wm); qParam.setWhere ("Validācija = 'Nederīga' '); qParam.setReturnGeometry (true); qParam.setOutFields (jauna virkne [] {"*"}); Karte obf = jauns HashMap(); obf.put ("Datums", Pasūtījums. ASC); qParam.setOrderByFields (obf); QueryTask qTask = jauns QueryTask (mNonValidatedURL); izmēģiniet {FeatureResult results = qTask.execute (qParam); atgriešanās rezultāti; } catch (izņēmums e) {Log.e ("freaking izņēmums", e.toString ()); e.printStackTrace (); return null; }

dažreiz vaicājums tiek izpildīts bez problēmām, bet lielākoties es uztveru šo kļūdu:


Es esmu rediģējis jūsu kodu. Šeit ir izstrādātais koda gabals.

public class MainActivity paplašina AppCompatActivity {QueryTask qTask; Poga btn; @Override protected void onCreate (Pakete savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); btn = (poga) findViewById (R.id.poga); qTask = new QueryTask ("http://services3.arcgis.com/hjUMsSJ87zgoicvl/ArcGIS/rest/services/PINV/FeatureServer/0"); btn.setOnClickListener (new View.OnClickListener () {@Override public void onClick (View v) {AsyncQueryTask ayncQuery = new AsyncQueryTask (); ayncQuery.execute ("test");}}}); } privātā klase AsyncQueryTask paplašina AsyncTask {@ Pārvarēt aizsargāto tukšumu vietnē onPreExecute () {} @ Pārzināt aizsargāto FeatureResult doInBackground (String… parametrus) {QueryParameters qParameters = new QueryParameters (); Virkne whereClause = "Validācija = 'Nederificēta'"; String outFields [] = {"*"}; qParameters.setReturnGeometry (true); qParameters.setOutFields (outFields); qParameters.setWhere (kurClause); mēģiniet {FeatureResult results = qTask.execute (qParameters); atgriešanās rezultāti; } catch (izņēmums e) {e.printStackTrace (); } return null; } @Override protected void onPostExecute (FeatureResult results) {Aploksnes apjoms = jauns Aploksne (); ja (rezultāti! = null) {int lielums = (int) rezultāti.featureCount (); priekš (Object element: results) {if (elementa Feature Feature) {Feature feature = (Feature) elements; // pārveidojiet funkciju par mGraphicQuery if (feature.getGeometry (). getType (). ir vienāds ar (Geometry.Type.POLYGON)) {SimpleFillSymbol sms = jauns SimpleFillSymbol (Color.GREEN, SimpleFillSymbol.STYLE.SOLID); SimpleLineSymbol sms2 = jauns SimpleLineSymbol (Color.GREEN, 1f, SimpleLineSymbol.STYLE.SOLID); sms.setOutline (sms2); sms.setAlpha (100); Grafiskā grafika = jauna grafika (feature.getGeometry (), sms, feature.getAttributes ()); Daudzstūris p = (daudzstūris) graphic.getGeometry (); p.queryEvoke (apjoms); pakāpe.apvienoties (pakāpe); } else if (feature.getGeometry (). getType (). vienāds ar (Geometry.Type.POINT)) {SimpleMarkerSymbol sms = jauns SimpleMarkerSymbol (Color.RED, 15, SimpleMarkerSymbol.STYLE.CIRCLE); Grafiskā grafika = jauna grafika (feature.getGeometry (), sms, feature.getAttributes ()); Punkts p = (Punkts) graphic.getGeometry (); p.queryEvoke (apjoms); pakāpe.apvienoties (pakāpe); }}}} if (results.featureCount () == 0) {Toast.makeText (MainActivity.this, "Nav rezultāta", Toast.LENGTH_SHORT) .show (); }}}}

Skatīties video: Offline Troubleshooting Scenarios with the ArcGIS Android Runtime SDK