ArcGIS версия 100.3.0 Android-токен - PullRequest
       50

ArcGIS версия 100.3.0 Android-токен

0 голосов
/ 10 сентября 2018

Ниже приведен код, который я использую для установки учетных данных пользователя в ServiceFeatureTable.

ServiceFeatureTable featureTablePolygons = new ServiceFeatureTable(polygonUrl);
featureTablePolygons.setCredential(UserCredential.createFromToken(gisToken, referer));


    //query feature from the table
    final ListenableFuture<FeatureQueryResult> queryResultPolygons = featureTablePolygons.queryFeaturesAsync(query);
    queryResultPolygons.addDoneListener(() -> {
        try {
            FeatureCollection featureCollection = new FeatureCollection();
            FeatureQueryResult result = queryResultPolygons.get();
            FeatureCollectionTable featureCollectionTable = new FeatureCollectionTable(result);
            featureCollectionTable.setRenderer(new SimpleRenderer(new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, getResources().getColor(R.color.translucent_red), new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.RED, 1))));
            featureCollection.getTables().add(featureCollectionTable);
            FeatureCollectionLayer featureCollectionLayer = new FeatureCollectionLayer(featureCollection);
       mMapView.getMap().getOperationalLayers().add(featureCollectionLayer);

            if (result.iterator().hasNext()) {
                Feature feature = result.iterator().next();
                Envelope envelope = feature.getGeometry().getExtent();
                mMapView.setViewpointGeometryAsync(envelope);
            } else {
            }
        } catch (InterruptedException | ExecutionException e) {
            Log.e(TAG, "Error in FeatureQueryResult: " + e.getMessage());
        }
    });

Но это не работает. Если я использую AuthenticationManager, то он работает нормально, но я не хочу использовать имя пользователя и пароль в своем коде.

1 Ответ

0 голосов
/ 16 сентября 2018

Если вы получаете токен вручную, вы можете создать объект UserCredential с помощью createFromToken () и установить его в ServiceFeatureTable с помощью setCredential () .

Однако многие рабочие процессы для получения токена обрабатываются средой выполнения (например, имя пользователя + пароль или OAuth через портал). Для начала ознакомьтесь с документацией AuthenticationManager .

И наконец, я думаю, вы сможете лучше узнать ваши вопросы на форумах ArcGIS Runtime SDK для Android .

...