<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Kotlin Maps SDK not rendering fill layer defined with match statement in JSON stylesheet in Kotlin Maps SDK Questions</title>
    <link>https://community.esri.com/t5/kotlin-maps-sdk-questions/kotlin-maps-sdk-not-rendering-fill-layer-defined/m-p/1542969#M487</link>
    <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/820709"&gt;@IgnisDev&lt;/a&gt;&amp;nbsp;- the Kotlin &amp;amp; Swift SDKs don't support match statements in JSON stylesheets and there is no plan to support them in the future.&lt;BR /&gt;In terms of solutions/workarounds, you might want to look at the tile spec that Esri supports, using:&lt;BR /&gt;- Esri's &lt;A href="https://www.arcgis.com/home/group.html?id=30de8da907d240a0bccd5ad3ff25ef4a#overview" target="_self"&gt;vector basemaps&lt;/A&gt;&lt;BR /&gt;- the &lt;A href="https://vtse.arcgis.com/" target="_self"&gt;Esri Vector Tile Style Editor&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 26 Sep 2024 09:08:17 GMT</pubDate>
    <dc:creator>GuntherHeppner</dc:creator>
    <dc:date>2024-09-26T09:08:17Z</dc:date>
    <item>
      <title>Kotlin Maps SDK not rendering fill layer defined with match statement in JSON stylesheet</title>
      <link>https://community.esri.com/t5/kotlin-maps-sdk-questions/kotlin-maps-sdk-not-rendering-fill-layer-defined/m-p/1541684#M486</link>
      <description>&lt;P&gt;Hello ESRI folks!&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Question: &amp;nbsp;Does the Kotlin &amp;amp; iOS SDK (also web SDK) support match statements in JSON stylesheets to represent multiple fill colors for a vector tile layer?&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Context:&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;Our team is migrating from using MapBox to render vector tiles produced by pg_tileserve for our Android &amp;amp; iOS to the ESRI SDKs. We're having trouble with the SDKs rendering layers that have fill-color stylesheet specifications.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Current Solution:&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;Our current solution is leveraging the ArcGISVectorTiledLayer to read the stylesheets for vector tile layers.&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;fun &lt;/SPAN&gt;LayerDescriptor.&lt;SPAN&gt;toArcGISLayer&lt;/SPAN&gt;(): ArcGISLayer {&lt;BR /&gt;    &lt;SPAN&gt;return when &lt;/SPAN&gt;(&lt;SPAN&gt;layerCase&lt;/SPAN&gt;) {&lt;BR /&gt;        LayerDescriptor.LayerCase.&lt;SPAN&gt;VECTOR_LAYER &lt;/SPAN&gt;-&amp;gt; {&lt;BR /&gt;            ArcGISVectorTiledLayer(&lt;SPAN&gt;vectorLayer&lt;/SPAN&gt;.&lt;SPAN&gt;stylesheetJsonUrl&lt;/SPAN&gt;).&lt;SPAN&gt;apply &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;                &lt;SPAN&gt;name &lt;/SPAN&gt;= &lt;SPAN&gt;layerName&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;        }&lt;/PRE&gt;&lt;/DIV&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;Supporting Details:&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;Here's the &lt;STRONG&gt;stylesheet JSON&lt;/STRONG&gt; that corresponds to the screenshots below.&amp;nbsp;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"layers"&lt;SPAN&gt;: [&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"id"&lt;SPAN&gt;: &lt;/SPAN&gt;"Severe Fire Danger Index"&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"layout"&lt;/SPAN&gt;: {&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"visibility"&lt;SPAN&gt;: &lt;/SPAN&gt;"visible"&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;},&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"paint"&lt;/SPAN&gt;: {&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"fill-color"&lt;SPAN&gt;: [&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"match"&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;[&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"get"&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"sfdi_value"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;],&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"LOW"&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"rgba(42 ,131, 187, 1)"&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"MODERATE"&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"rgba(171, 221 ,164, 1)"&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"HIGH"&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"rgba(253, 254 ,190,1)"&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"VERY HIGH"&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"rgba(253 ,174, 97,1)"&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"SEVERE"&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"rgba(215, 25, 27,1)"&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"rgba(0, 0, 255, 0.5)"&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;],&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"fill-opacity"&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;0.7&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;},&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"source"&lt;SPAN&gt;: &lt;/SPAN&gt;"sfdi"&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"source-layer"&lt;SPAN&gt;: &lt;/SPAN&gt;"public.sfdi_ignis_zone"&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"type"&lt;SPAN&gt;: &lt;/SPAN&gt;"fill"&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;],&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"sources"&lt;SPAN&gt;: {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"sfdi"&lt;/SPAN&gt;: {&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"maxZoom"&lt;/SPAN&gt;: &lt;SPAN&gt;14&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"minZoom"&lt;/SPAN&gt;: &lt;SPAN&gt;0&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"tiles"&lt;/SPAN&gt;: [&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;A href="https://ourtileserveraddress/public.sfdi_ignis_zone/{z}/{x}/{y}.pbf" target="_blank" rel="noopener"&gt;https://ourtileserveraddress/public.sfdi_ignis_zone/{z}/{x}/{y}.pbf&lt;/A&gt;"&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;],&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"type"&lt;SPAN&gt;: &lt;/SPAN&gt;"vector"&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"volatile"&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;},&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;"version"&lt;SPAN&gt;: &lt;/SPAN&gt;"8"&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Attaching a screenshots of what the tiles should look like...&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IgnisDev_0-1727128497800.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/115720i271F681F7391C7CE/image-size/medium?v=v2&amp;amp;px=400" role="button" title="IgnisDev_0-1727128497800.png" alt="IgnisDev_0-1727128497800.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;This is how it currently renders in the Android emulator...&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IgnisDev_1-1727128562978.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/115721iED0AEC032EBFEF21/image-size/medium?v=v2&amp;amp;px=400" role="button" title="IgnisDev_1-1727128562978.png" alt="IgnisDev_1-1727128562978.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Sep 2024 22:05:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/kotlin-maps-sdk-questions/kotlin-maps-sdk-not-rendering-fill-layer-defined/m-p/1541684#M486</guid>
      <dc:creator>IgnisDev</dc:creator>
      <dc:date>2024-09-23T22:05:31Z</dc:date>
    </item>
    <item>
      <title>Re: Kotlin Maps SDK not rendering fill layer defined with match statement in JSON stylesheet</title>
      <link>https://community.esri.com/t5/kotlin-maps-sdk-questions/kotlin-maps-sdk-not-rendering-fill-layer-defined/m-p/1542969#M487</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/820709"&gt;@IgnisDev&lt;/a&gt;&amp;nbsp;- the Kotlin &amp;amp; Swift SDKs don't support match statements in JSON stylesheets and there is no plan to support them in the future.&lt;BR /&gt;In terms of solutions/workarounds, you might want to look at the tile spec that Esri supports, using:&lt;BR /&gt;- Esri's &lt;A href="https://www.arcgis.com/home/group.html?id=30de8da907d240a0bccd5ad3ff25ef4a#overview" target="_self"&gt;vector basemaps&lt;/A&gt;&lt;BR /&gt;- the &lt;A href="https://vtse.arcgis.com/" target="_self"&gt;Esri Vector Tile Style Editor&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 26 Sep 2024 09:08:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/kotlin-maps-sdk-questions/kotlin-maps-sdk-not-rendering-fill-layer-defined/m-p/1542969#M487</guid>
      <dc:creator>GuntherHeppner</dc:creator>
      <dc:date>2024-09-26T09:08:17Z</dc:date>
    </item>
  </channel>
</rss>

