World Topographic Map (for Export)<\A>. Hiervan is de Portal ID nodig.<\P>\n\nvar portal = await ArcGISPortal.CreateAsync();\nvar portalItem = await PortalItem.CreateAsync(portal, \"df541726b3df4c0caf99255bb1be4c86\");<SPAN class=\"line-numbers-rows\"><SPAN</SPAN><SPAN</SPAN><SPAN</SPAN></SPAN>
\n\nTIP:\n\nHet is helaas niet mogelijk om van een Vector Tile Service equivalente services met andere stijlen op te vragen. Om dit toch te automatiseren kan in ArcGIS Runtime gezocht worden naar PortalItems-types en tags. \n\nBijvoorbeeld is in de hier beschreven ArcGIS Online Basemaps de specifieke tag \"World_Basemap_Export_v2\". \n\nBij eigen services moet dus een eigen specifieke tag gekozen worden.\n\nZo wordt gezocht:<\PRE>\nvar queryExpression = string.Format(\"tags:\\\\ id="toc-hId--384247244" id="toc-hId--384247244">3. Taak, Parameter en Job aanmaken en uitvoeren</H5><P>In de volgende code worden alleen de gegevens (.vtpk) en niet de Style geëxporteerd.</P><PRE class="lia-code-sample line-numbers language-none"><CODE><SPAN class="comment token">// Maak de taak aan</SPAN>
<SPAN class="keyword token">var</SPAN> exportTask <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">await</SPAN> ExportVectorTilesTask.<SPAN class="token function">CreateAsync</SPAN>(portalItem)<SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">// Maak een nieuwe parameters instantie aan</SPAN>
<SPAN class="keyword token">var</SPAN> parameters <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">ExportVectorTilesParameters</SPAN>()
<SPAN class="punctuation token">{
AreaOfInterest = exportArea.Geometry, // gebied om te exporteren
MaxLevel = exportTask.VectorTileSourceInfo.LevelsOfDetail.Count - 1 // niveaus om te exporteren
}</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">// Maak de export job aan</SPAN>
<SPAN class="keyword token">var</SPAN> job <SPAN class="operator token">=</SPAN> exportTask.<SPAN class="token function">ExportVectorTiles</SPAN>(parameters, Path.<SPAN class="token function">Combine</SPAN>(_vectorTileCachePath, "name.vtpk"));
<SPAN class="comment token">// Abonneer op meldingen voor statusupdates</SPAN>
job.JobChanged += (sender, e) =>
{
if (job.Status == Esri.ArcGISRuntime.Tasks.JobStatus.Succeeded)
{
// doe iets
}
else if (job.Status == Esri.ArcGISRuntime.Tasks.JobStatus.Failed)
{
// Informeer de gebruiker
ShowStatusMessage(job.Error.Message);
}
};
<SPAN class="comment token">// Start de export job</SPAN>
job.<SPAN class="token function">Start</SPAN>();<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></Span... (truncated) ... als alleen de Style geëxporteerd moet worden ziet het er zo uit:<\/P><PRE class="lia-code-sample line-numbers language-none"><CODE><SPAN class="keyword token">var<\/SPAN> exportTask <SPAN class="operator token">=<\/SPAN> <SPAN class="keyword token">await<\/SPAN> ExportVectorTilesTask<SPAN class="punctuation token">.<\/SPAN><SPAN class="token function">CreateAsync<\/SPAN><SPAN class="punctuation token">(<\/SPAN>portalItem<SPAN class="punctuation token">)<\/SPAN><SPAN class="punctuation token">;<\/SPAN>
<SPAN class="keyword token">if<\/SPAN> <SPAN class="punctuation token">(<\/SPAN>exportTask<SPAN class="punctuation token">.<\/SPAN>HasStyleResources<SPAN class="punctuation token">)<\/SPAN>
<SPAN class="punctuation token">{<\/SPAN>
<SPAN class="keyword token">var<\/SPAN> exportStyleJob <SPAN class="operator token">=<\/SPAN> exportTask<SPAN class="punctuation token">.<\/SPAN><SPAN class="token function">ExportStyleResourceCache<\/SPAN><SPAN class="punctuation token">(<\/SPAN>_styleResourcePath<SPAN class="punctuation token">)<\/SPAN><SPAN class="punctuation token">;<\/SPAN>
<SPAN class="keyword token">var<\/SPAN> result <SPAN class="operator token">=<\/SPAN> <SPAN class="keyword token">await<\/SPAN> exportStyleJob<SPAN class="punctuation token">.<\/SPAN><SPAN class="token function">GetResultAsync<\/SPAN><SPAN class="punctuation token">(<\/SPAN><SPAN class="punctuation token">)<\/SPAN><SPAN class="punctuation token">;<\/SPAN>
<SPAN class="comment token">\/\/doe iets<\/SPAN>
<SPAN class="punctuation token">}<\/SPAN><SPAN class="line-numbers-rows"><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><\/span><\/CODE><\/PRE><P><\/P><P>Als bijvoorbeeld alle hierboven beschreven <A href="http:\/\/www.arcgis.com\/home\/search.html?q=vector%20tile%20v2%20for%20export%20world%20basemap&t=content&focus=layers&start=1&sortOrder=desc&sortField=relevance" rel="nofollow noopener noreferrer" target="_blank">exporteerbare ArcGIS Online Vector Tile Services<\/A> lokaal als Basemaps beschikbaar moeten zijn, moet van <U>één<\/U> Service de vtpk en van alle Services alleen de Styles geëxporteerd worden. In een StyleResource map bevinden zich alleen JSON-bestanden met de beschrijving van de Styles, deze zijn erg klein.<\/P><P><\/P><P><IMG class="image-16 jive-image" src="https:\/\/us.v-cdn.net\/6038851\/uploads\/legacyfs\/online\/396344_pastedImage_1.png" style="width: 620px; height: 341px;" \/><\/P><H3 id="toc-hId-1751590101" id="toc-hId-1751590101"><\/H3><H3 id="toc-hId--800566860" id="toc-hId--800566860">Gebruik van lokale Vector Tile Packages en Styles in ArcGIS Runtime<\/H3><P>Het lokale vtpk en een bestaande Style kunnen dan zo in de Map worden geïntegreerd:<\/P><P><\/P><PRE class="lia-code-sample line-numbers language-none"><CODE><SPAN class="comment token">\/ Load een style<\/span>
<Span class = "keyword token ">var <\ / span > itemResourceCache <Span Class = "operator Token "> = <\ / span > <Span Class = "keyword Token "> new <\ / span > <Span Class = "token Class-name "> ItemResourceCache <\ / span ><Span Class = "punctuation Token ">(</span > _styleResourcePath <Span Class = "punctuation Token ") ; </span > << EMOJI_8 >>
<span Class = "comment Token "> \/ Load de vtpk <\ / span >
<span Class = "keyword Token "> var <\ / span > offlineVectorTileCache <Span Class = "operator Token "> = <\ / span > <Span Class = "keyword Token "> new <\ / span > <Span Class = "token Class-name "> VectorTileCache <\ / span ><Span Class = "punctuation Token ">(</span > Path <Span Class = "punctuation Token ".</span ><Span Class = "token Function "> Combine <\ / span ><Span Class = "punctuation Token ">(</span > _vectorTileCachePath , <span Class = "string Token "> "name.vtpk" </span ><Span Class = "punctuation Token ") ) ; </span > << EMOJI_9 >>
<span Class = "comment Token "> \/ Maak een tile layer met de cache en de style <\ / span >
<span Class = "keyword Token "> var <\ / span > layer <Span Class = "operator Token "> = <\ / span > <Span Class = "keyword Token "> new <\ / span > <Span Class = "token Class-name "> ArcGISVectorTiledLayer <\ / span ><Span Class = "punctuation Token ">(</span > offlineVectorTileCache , itemResourceCache<span Class = "punctuation Token ") ; </span >
<span Class = "comment Token "> \/ Maak een tile layer alleen met de cache <\ / span >
<span Class = "comment Token "> \/ var layer = new ArcGISVectorTiledLayer(offlineVectorTileCache); <\ / span >
<span Class = "comment Token "> \/ Maak een nieuwe map met de layer als basemap <\ / span >
<span Class = "keyword Token "> var <\ / span > map <span Class = "operator Token ">=</span > <span Class = "keyword Token ">new</span > <span Class = "token Class-name ">Map</span ><span Class = "punctuation Token ">(</span ><span Class = "keyword Token ">new</span > <span Class = "token Class-name ">Basemap</span ><span Class = "punctuation Token ">(</span >layer<span Class = "punctuation Token ") ) ; </span >
<span Class = "comment Token "> \ Pas de map toe op de mapview </span>
MyMapView.Map <span Class = "operator Token ">=</span > map
Als de ontwikkelaar alles mooi combineert, kunnen er in de ArcGIS Runtime App lokaal meerdere Basemaps op basis van slechts één vtpk worden gebruikt. Over het opslaggeheugen van de gegevens op het apparaat hoeft meestal ook geen zorg meer te worden gedragen. In een test met het gebied grofweg Beieren in volledige detail is de grootte van het vtpk + Styles slechts ongeveer 230 MB en duurde de export bijna 7 minuten. Belangrijk is ook de informatie dat er een maximale limiet ("maxExportTilesCount":10000) voor een export bestaat.<\/P>

Offline Vector Tile Basemap zonder extra Style (alleen het .vtpk geladen)

Offline Vector Tile Basemap met Style

Offline Vector Tile Basemap met Style

Offline Vector Tile Basemap met Style

Offline Vector Tile Basemap met Style