2017-02-08 2 views
0

私はしばらく頑張っていて、解決策が見つからなかった: 自分自身のArcGIS WebサーバーからGeoJSON-Stringを取得したい。私はREST-APIを使用してブラウザで動作させたいと思っています。私はちょうど私のユーザー名とパスワードを入力する必要があり、私の認証後、私はGeoJSON文字列を取得するためにリンクを使用することができます。 Androidの場合、別のソリューションで試しましたが、もちろん - Esri-Websiteの手順に従っていました。ここでは、ユーザー名パスワードを設定してUserCredentialを作成する方法を説明します。 UserCredentialがメソッドに渡され、新しいArcGISDynamicMapServiceLayerがREST-Linkとともに作成されます。そこで、新しいレイヤーを取得しますが、方法はありません。UserCredentialリンクを渡すことで、文字列を取得できます。 ポリゴンを取得したいので、ArcGISFeatureLayerが私を助けてくれると思いました。しかし、私が与えられたユーザー情報とリンクを渡すと、私はnull-Objektを返すだけです。ここで土曜日にAndroidでEsri REST-APIを使用してGeoJSON-Stringにアクセス

は私の最も-hopefullコードの抜粋です:

String url = "https://domain.de/arcgis/rest/services/FeatureEditor/FeatureEditor/FeatureServer/13/query?where=fahrzeug_id+%3D+21+AND+auftrag_revisionnewest+%3D+1+AND+auftrag_id+%3D+45&geometryType=esriGeometryEnvelope&spatialRel=esriSpatialRelIntersects&units=esriSRUnit_Foot&outFields=*&returnGeometry=true&outSR=4326&returnDistinctValues=false&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnZ=false&returnM=false&f=geojson"; 
UserCredentials creds = new UserCredentials(); 
creds.setSSLRequired(true); 
creds.setUserAccount("username", "password"); 
ArcGISFeatureLayer featureLayer = new ArcGISFeatureLayer(url,(ArcGISFeatureLayer.Options)null,creds); 

だから、最高のリンクでアクセス可能とばかりにGeoJSON-文字列を取得することです。しかし、でHTTPにアクセスするにはどうすればいいですか?ユーザ名パスワード

答えて

0

ArcGIS Android SDK内でそのようなスタイルのクエリを実行するには、FeatureLayerを作成してからQueryクラスを使用してクエリ文字列と同等のものを定義する必要があります。これは、あなたが探している情報を持っている必要がありますが、それはGeoJSONの形ではない機能を含むFeatureSetを返します。フィーチャーセットには、あなたが探しているものを与えるかもしれないtoJSONメソッドがありますが、私は肯定的ではありません。純粋なJSONレスポンスが必要な場合は、HTTPリクエストを自分で実行し、リクエスト内でREST APIが必要とする認証を設定し、レスポンスを処理する必要があります。

関連する問題