<?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 Is it possible to scale the size of a ObjectSymbol3DLayer based on the zoom level?  in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/is-it-possible-to-scale-the-size-of-a/m-p/281894#M26042</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For example set a pixel size of the object instead of by meters. I am referencing a 3D json model which is working, I just want it to appear at the same pixel size independent on zoom level. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var rendererUNIT = new UniqueValueRenderer({&lt;BR /&gt;&amp;nbsp; &amp;nbsp;field: "IN_COM",&lt;BR /&gt;&amp;nbsp; &amp;nbsp;defaultSymbol: new PointSymbol3D({&lt;BR /&gt;&amp;nbsp; &amp;nbsp;symbolLayers: [new ObjectSymbol3DLayer({&lt;BR /&gt;&amp;nbsp; &amp;nbsp;heading: 90,&lt;BR /&gt;&amp;nbsp; &amp;nbsp;height: 5,&lt;BR /&gt;&amp;nbsp; &amp;nbsp;material: { color: "grey" },&lt;BR /&gt;&amp;nbsp; &amp;nbsp;resource: {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;href:"/maps/json/van.json"&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; })]&lt;BR /&gt;&amp;nbsp;})&lt;BR /&gt; });&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 07 Mar 2017 18:35:07 GMT</pubDate>
    <dc:creator>GeoffMoen</dc:creator>
    <dc:date>2017-03-07T18:35:07Z</dc:date>
    <item>
      <title>Is it possible to scale the size of a ObjectSymbol3DLayer based on the zoom level?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/is-it-possible-to-scale-the-size-of-a/m-p/281894#M26042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For example set a pixel size of the object instead of by meters. I am referencing a 3D json model which is working, I just want it to appear at the same pixel size independent on zoom level. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var rendererUNIT = new UniqueValueRenderer({&lt;BR /&gt;&amp;nbsp; &amp;nbsp;field: "IN_COM",&lt;BR /&gt;&amp;nbsp; &amp;nbsp;defaultSymbol: new PointSymbol3D({&lt;BR /&gt;&amp;nbsp; &amp;nbsp;symbolLayers: [new ObjectSymbol3DLayer({&lt;BR /&gt;&amp;nbsp; &amp;nbsp;heading: 90,&lt;BR /&gt;&amp;nbsp; &amp;nbsp;height: 5,&lt;BR /&gt;&amp;nbsp; &amp;nbsp;material: { color: "grey" },&lt;BR /&gt;&amp;nbsp; &amp;nbsp;resource: {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;href:"/maps/json/van.json"&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; })]&lt;BR /&gt;&amp;nbsp;})&lt;BR /&gt; });&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Mar 2017 18:35:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/is-it-possible-to-scale-the-size-of-a/m-p/281894#M26042</guid>
      <dc:creator>GeoffMoen</dc:creator>
      <dc:date>2017-03-07T18:35:07Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to scale the size of a ObjectSymbol3DLayer based on the zoom level?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/is-it-possible-to-scale-the-size-of-a/m-p/281895#M26043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As far as I know you can't set width/depth/height in pixels directly. &amp;nbsp;You could use an icon symbol 3D layer, which can be sized in pixels, but won't have volume&amp;nbsp;(it can be either painted on the map or billboarded):&amp;nbsp;&lt;A class="link-titled" href="https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html" title="https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html"&gt;IconSymbol3DLayer | API Reference | ArcGIS API for JavaScript 4.3&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the icon symbol 3D layer won't do, one option would be to recalculate the width, height, and depth in meters every time the zoom changes. &amp;nbsp;This is a lot of trouble, but it may get you the effect you're looking for.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Original sample, without the scaling:&amp;nbsp;&lt;A class="link-titled" href="https://jsbin.com/meruhavumu/edit?html,output" title="https://jsbin.com/meruhavumu/edit?html,output"&gt;JS Bin - Collaborative JavaScript Debugging&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Same sample, except with some scaling logic added at the bottom of the JS:&amp;nbsp;&lt;A class="link-titled" href="https://jsbin.com/putemutoma/1/edit?html,output" title="https://jsbin.com/putemutoma/1/edit?html,output"&gt;JS Bin - Collaborative JavaScript Debugging&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I found that I couldn't redefine the width and height on the symbol layer, I had to generate an entirely new renderer. &amp;nbsp;In this example it's a simple renderer but for you it would be a unique value renderer. &amp;nbsp;I'm also performing this check on every zoom event. &amp;nbsp;It might be better to only perform the calculation&amp;nbsp;when the view&amp;nbsp;stops changing, which you could do by watching the stationary property of the view like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://jsbin.com/yerudeqilu/1/edit?html,output" title="https://jsbin.com/yerudeqilu/1/edit?html,output"&gt;JS Bin - Collaborative JavaScript Debugging&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Mar 2017 20:54:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/is-it-possible-to-scale-the-size-of-a/m-p/281895#M26043</guid>
      <dc:creator>ThomasSolow</dc:creator>
      <dc:date>2017-03-07T20:54:34Z</dc:date>
    </item>
  </channel>
</rss>

