私はXamarin Android用の.NetランタイムSDK(v.100)を使用しています。モバイルアプリでオフラインで使用する.tpkとしてタイルをダウンロードしようとしています。ArcGIS .NETランタイムSDKを使用してExportTileCacheJobを正しく設定する方法
私は自分のアプリのトークンを私に与えるためにAuthenticationManagerを使用することができました。私は正常にExportTileCacheTaskを作成し、ExportTileCacheTaskでExportTileCacheを呼び出すことによってExportTileCacheJobを作成することができますが、ジョブのステータスは決して変更されないようです。 ExportTileCacheを呼び出した直後にジョブの状態をチェックすると、 "NotStarted"とServerId = ""になります。私は、私のExportJob_JobChangedハンドラにブレークポイントを持っており、どれくらい待っても決してヒットしません。
アイデア?以下のコード:
var serviceUri = new Uri("https://tiledbasemaps.arcgis.com/arcgis/rest/services/World_Imagery/MapServer");
var tokenUri = new Uri("https://www.arcgis.com/sharing/rest");
try
{
var serverInfo = new ServerInfo
{
ServerUri = tokenUri,
TokenAuthenticationType = TokenAuthenticationType.OAuthClientCredentials,
OAuthClientInfo = new OAuthClientInfo { ClientId = MYCLIENTID, ClientSecret = MYCLIENTSECRET) },
};
AuthenticationManager.Current.RegisterServer(serverInfo);
var cred = await AuthenticationManager.Current.GenerateCredentialAsync(tokenUri, new GenerateTokenOptions { });
var exportTask = await ExportTileCacheTask.CreateAsync(serviceUri, cred);
var exportParams = await exportTask.CreateDefaultExportTileCacheParametersAsync(aoi, 50000, 10000);
job = exportTask.ExportTileCache(exportParams, localFilePath);
job.JobChanged += ExportJob_JobChanged;
}
catch (Exception e)
{
e.ToString();
}
サンプルもあります:https://geonet.esri.com/thread/189336-exporttilecache-runtime-v1000#comment-662430また、 'await job.GetResultAsync()'を呼び出すと開始がトリガーされます サンプルはすぐにサンプルのレポに追加されます... – dotMorten