{"id":2965079,"date":"2026-05-11T12:32:57","date_gmt":"2026-05-11T19:32:57","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2965079"},"modified":"2026-05-14T15:02:12","modified_gmt":"2026-05-14T22:02:12","slug":"sceneview-improvements-in-native-maps-sdk-300-0","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0","title":{"rendered":"SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0"},"author":10152,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23771,738191,22941],"tags":[25781,768202,23571],"industry":[],"product":[769142,776202,768902,769152,768912,36601],"class_list":["post-2965079","blog","type-blog","status-publish","format-standard","hentry","category-3d-gis","category-developers","category-mapping","tag-3d","tag-arcgis-maps-sdks-for-native-apps","tag-whats-new","product-sdk-net","product-sdk-flutter","product-sdk-kotlin","product-sdk-qt","product-sdk-swift","product-developers"],"acf":{"authors":[{"ID":10152,"user_firstname":"Koushik","user_lastname":"Hajra","nickname":"Koushik Hajra","user_nicename":"khajra","display_name":"Koushik Hajra","user_email":"khajra@esri.com","user_url":"","user_registered":"2019-11-15 00:51:23","user_description":"Koushik is a Principal Product Engineer with the ArcGIS Maps SDKs for Native Apps team. He primarily works on the 3D layers specializing in Qt SDK. He is passionate about building high quality functional APIs for our users. Koushik presents at Esri conferences like Developers Summit or the Users Conference where he talks about using the different parts of the Maps SDK.","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/82c2e5bcc4a327abbb93fa36a32ac27e07e28b729377c4a8dded6568b2edcdb8?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/82c2e5bcc4a327abbb93fa36a32ac27e07e28b729377c4a8dded6568b2edcdb8?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}],"short_description":"ArcGIS Maps SDK for Native Apps 300.0 adds richer 3D experiences to the SceneView with new features and improved performance.","flexible_content":[{"acf_fc_layout":"content","content":"<p>The 300.0 release of ArcGIS Maps SDKs for Native Apps introduces an array of new functionality across our 3D stack. Alongside the introduction of the new LocalSceneView, this release also delivers a set of targeted enhancements that make working with the existing SceneView faster, smoother, and more capable.<\/p>\n<p>This release introduces support for rendering KmlPhotoOverlay, a new Surface API for efficiently retrieving elevation data, and performance improvements that streamline demanding workflows\u2014such as identifying feature layers in high density datasets. Together, these updates improve user experience while unlocking richer 3D experiences.<\/p>\n<p>Below, we take a closer look at what\u2019s new and how these improvements can benefit your applications.<\/p>\n<p><em>A quick note: While some of the code snippets below show code from <a href=\"https:\/\/developers.arcgis.com\/qt\/\">Qt Maps SDK<\/a>, the principles broadly apply to <a href=\"https:\/\/developers.arcgis.com\/net\/\">.NET<\/a>, <a href=\"https:\/\/developers.arcgis.com\/swift\/\">Swift<\/a>, <a href=\"https:\/\/developers.arcgis.com\/kotlin\/\">Kotlin<\/a>, and <a href=\"https:\/\/developers.arcgis.com\/flutter\/\">Flutter<\/a> Maps SDKs (except KmlPhotoOverlay. Kml support will be added in a future release of the Flutter SDK).\u00a0\u00a0<\/em><\/p>\n<h3><strong>Rendering of <\/strong><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-kmlphotooverlay.html\"><strong>KmlPhotoOverlay<\/strong><\/a><\/h3>\n<p>SceneView now supports rendering <strong>KmlPhotoOverlay<\/strong> when present in a KML document. A KmlPhotoOverlay allows a photograph to be precisely positioned in geographic space, aligning imagery directly with its real\u2011world location.<\/p>\n<p>This unlocks several practical workflows, including:<\/p>\n<ul>\n<li>Visually correlating imagery with terrain<\/li>\n<li>Performing contextual analysis using one or more georeferenced photos<\/li>\n<\/ul>\n<p>In short, you can now seamlessly integrate spatially accurate KmlPhotoOverlays into your 3D scenes.<\/p>\n<p>Let\u2019s see what this looks like in code.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<pre><code>\r\n<span style=\"color: #d73a49\">if<\/span> (<span style=\"color: #d73a49\">auto<\/span> *photoOverlay = <span style=\"color: #e36209\">findPhotoOverlayRecursive<\/span>(document)) {\r\n    m_sceneView-&gt;<span style=\"color: #e36209\">setViewpointCameraAsync<\/span>(<span style=\"color: #e36209\">Camera<\/span>(photoOverlay-&gt;<span style=\"color: #e36209\">viewpoint<\/span>().<span style=\"color: #e36209\">location<\/span>(),\r\n          photoOverlay-&gt;<span style=\"color: #e36209\">viewpoint<\/span>().<span style=\"color: #e36209\">heading<\/span>(),\r\n          photoOverlay-&gt;<span style=\"color: #e36209\">viewpoint<\/span>().<span style=\"color: #e36209\">pitch<\/span>(),\r\n          photoOverlay-&gt;<span style=\"color: #e36209\">viewpoint<\/span>().<span style=\"color: #e36209\">roll<\/span>()));\r\n    }\r\n\r\nKmlPhotoOverlay *<span style=\"color: #6f42c1\">PhotoOverlayTest::findPhotoOverlayRecursive<\/span>(KmlNode *node)\r\n{\r\n    <span style=\"color: #d73a49\">if<\/span> (!node)\r\n        <span style=\"color: #d73a49\">return<\/span> <span style=\"color: #005cc5\">nullptr<\/span>;\r\n\r\n    <span style=\"color: #6a737d\">\/\/ Found PhotoOverlay. Return it.<\/span>\r\n    <span style=\"color: #d73a49\">if<\/span> (node-&gt;<span style=\"color: #e36209\">kmlNodeType<\/span>() == KmlNodeType::KmlPhotoOverlay)\r\n        <span style=\"color: #d73a49\">return<\/span> <span style=\"color: #e36209\">dynamic_cast<\/span>&lt;KmlPhotoOverlay *&gt;(node);\r\n\r\n    <span style=\"color: #6a737d\">\/\/ Only container-like nodes have children.<\/span>\r\n    <span style=\"color: #d73a49\">if<\/span> (<span style=\"color: #d73a49\">auto<\/span> *container = <span style=\"color: #e36209\">dynamic_cast<\/span>&lt;KmlContainer *&gt;(node)) {\r\n        <span style=\"color: #d73a49\">auto<\/span> *children = container-&gt;<span style=\"color: #e36209\">childNodesListModel<\/span>();\r\n        <span style=\"color: #d73a49\">if<\/span> (!children)\r\n            <span style=\"color: #d73a49\">return<\/span> <span style=\"color: #005cc5\">nullptr<\/span>;\r\n\r\n        <span style=\"color: #d73a49\">for<\/span> (<span style=\"color: #d73a49\">int<\/span> i = <span style=\"color: #005cc5\">0<\/span>; i &lt; children-&gt;<span style=\"color: #e36209\">size<\/span>(); ++i) {\r\n            <span style=\"color: #d73a49\">if<\/span> (<span style=\"color: #d73a49\">auto<\/span> *found = <span style=\"color: #e36209\">findPhotoOverlayRecursive<\/span>(children-&gt;<span style=\"color: #e36209\">at<\/span>(i)))\r\n                <span style=\"color: #d73a49\">return<\/span> found;\r\n        }\r\n    }\r\n\r\n    <span style=\"color: #d73a49\">return<\/span> <span style=\"color: #005cc5\">nullptr<\/span>;\r\n}\r\n\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":2965080,"id":2965080,"title":"PhotoOverlay","filename":"PhotoOverlay.png","filesize":1153031,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/PhotoOverlay.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\/photooverlay","alt":"","author":"10152","description":"","caption":"A KmlPhotoOverlay showing Esri Headquarters, Redlands.","name":"photooverlay","status":"inherit","uploaded_to":2965079,"date":"2026-05-07 01:19:08","modified":"2026-05-11 18:59:37","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1645,"height":777,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/PhotoOverlay-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/PhotoOverlay.png","medium-width":464,"medium-height":219,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/PhotoOverlay.png","medium_large-width":768,"medium_large-height":363,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/PhotoOverlay.png","large-width":1645,"large-height":777,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/PhotoOverlay-1536x726.png","1536x1536-width":1536,"1536x1536-height":726,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/PhotoOverlay.png","2048x2048-width":1645,"2048x2048-height":777,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/PhotoOverlay-826x390.png","card_image-width":826,"card_image-height":390,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/PhotoOverlay.png","wide_image-width":1645,"wide_image-height":777}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-surface.html#applyElevationAsync\"><strong>ApplyElevationAsync<\/strong><\/a><strong> method on Surface class<\/strong><\/h3>\n<p>Before the 300.0 release, retrieving elevation data required calling <em>getElevationAsync()<\/em> one point at a time, using the topmost loaded elevation source, and returning the best possible Z value per request.\u00a0While functional, this approach quickly became inefficient\u2014and cumbersome\u2014when working with multiple points, such as generating an elevation profile along a path.<\/p>\n<p>To address this, we introduced a new Surface API: <strong>applyElevationAsync()<\/strong>.<\/p>\n<p>In a single operation, this method returns a copy of the geometry with the best possible Z values populated for every vertex. The benefits are immediate:<\/p>\n<ul>\n<li>A simpler, more expressive API for elevation workflows<\/li>\n<li>Improved performance through batching<\/li>\n<li>Order\u2011of\u2011magnitude speed improvements in many scenarios<\/li>\n<\/ul>\n<p><em>Pro tip: <\/em>Since <strong>applyElevationAsync<\/strong> returns a copy of the input geometry, it might be simpler to use that instead of <em>getElevationAsync<\/em> even if your workflow involves a single point. Using <em>getElevationAsync<\/em>, if you need the same point geometry again, you need to reconstruct the point geometry with the returned Z value.<\/p>\n<p>Below is a simple code example, followed by a video demonstrating the performance gains in action.<\/p>\n<pre><code>\r\n<span style=\"color: #6a737d\">\/\/ create two point geometries<\/span>\r\n    <span style=\"color: #d73a49\">const<\/span> Point <span style=\"color: #6f42c1\">p1<\/span>(<span style=\"color: #005cc5\">-157.81576537139006<\/span>, <span style=\"color: #005cc5\">21.264810165716789<\/span>, SpatialReference::wgs84());\r\n    <span style=\"color: #d73a49\">const<\/span> Point <span style=\"color: #6f42c1\">p2<\/span>(<span style=\"color: #005cc5\">-157.80740661838993<\/span>, <span style=\"color: #005cc5\">21.263212689250874<\/span>, SpatialReference::wgs84());\r\n\r\n    <span style=\"color: #6a737d\">\/\/ create a polyline using the points from above<\/span>\r\n    PolylineBuilder *pb = <span style=\"color: #d73a49\">new<\/span> <span style=\"color: #e36209\">PolylineBuilder<\/span>(SpatialReference::<span style=\"color: #e36209\">wgs84<\/span>(), <span style=\"color: #d73a49\">this<\/span>);\r\n    pb-&gt;<span style=\"color: #e36209\">addPoints<\/span>(<span style=\"color: #e36209\">QList<\/span>&lt;Point&gt;() &lt;&lt; p1 &lt;&lt; p2);\r\n    m_polyline = pb-&gt;<span style=\"color: #e36209\">toPolyline<\/span>();\r\n    \r\n    <span style=\"color: #6a737d\">\/\/ get a densified polyline with 100 vertices<\/span>\r\n    <span style=\"color: #d73a49\">const<\/span> <span style=\"color: #d73a49\">auto<\/span> densePolyline = <span style=\"color: #e36209\">static_cast<\/span>&lt;Polyline&gt;(<span style=\"color: #e36209\">densifyPolylineGeodetic<\/span>(m_polyline, <span style=\"color: #005cc5\">100<\/span>));\r\n    \r\n    <span style=\"color: #6a737d\">\/\/ call applyElevationAsync using the densified polyline<\/span>\r\n    <span style=\"color: #d73a49\">auto<\/span> future\r\n        = m_scene-&gt;<span style=\"color: #e36209\">baseSurface<\/span>()-&gt;<span style=\"color: #e36209\">applyElevationAsync<\/span>(densePolyline).<span style=\"color: #e36209\">then<\/span>(<span style=\"color: #d73a49\">this<\/span>, [<span style=\"color: #d73a49\">this<\/span>](Geometry g) {\r\n              <span style=\"color: #6a737d\">\/\/ the returned polyline has a Z value added for each of the 100 vertices.<\/span>\r\n              <span style=\"color: #d73a49\">const<\/span> <span style=\"color: #d73a49\">auto<\/span> densePolylineElev = <span style=\"color: #e36209\">static_cast<\/span>&lt;Polyline&gt;(g);\r\n              <span style=\"color: #6a737d\">\/\/ use each vertex as your geometry to create an elevation profile...<\/span>\r\n          });\r\n\r\n<span style=\"color: #6a737d\">\/\/ function to create a densified polyline<\/span>\r\nPolyline <span style=\"color: #6f42c1\">ElevationProfileTest::densifyPolylineGeodetic<\/span>(<span style=\"color: #d73a49\">const<\/span> Polyline&amp; polyline, <span style=\"color: #d73a49\">double<\/span> numPoints) {\r\n\r\n    <span style=\"color: #6a737d\">\/\/ determines the distance between each point that will be needed to input into densifyGeodetic() based off NumPoints<\/span>\r\n    <span style=\"color: #d73a49\">const<\/span> <span style=\"color: #d73a49\">double<\/span> incrementalDistance = GeometryEngine::<span style=\"color: #e36209\">lengthGeodetic<\/span>(polyline, <span style=\"color: #e36209\">LinearUnit<\/span>(LinearUnitId::Meters), GeodeticCurveType::Geodesic) \/\r\n                                 (numPoints - m_vertices.<span style=\"color: #e36209\">size<\/span>());\r\n\r\n    <span style=\"color: #d73a49\">return<\/span> <span style=\"color: #e36209\">static_cast<\/span>&lt;Polyline&gt;((GeometryEngine::<span style=\"color: #e36209\">densifyGeodetic<\/span>(polyline, incrementalDistance,\r\n                                            <span style=\"color: #e36209\">LinearUnit<\/span>(LinearUnitId::Meters), GeodeticCurveType::Geodesic)));\r\n}\r\n\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":2965360,"id":2965360,"title":"elev_prof","filename":"elev_prof.gif","filesize":2409383,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/elev_prof.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\/elev_prof","alt":"","author":"10152","description":"","caption":"Generating an elevation profile using applyElevation","name":"elev_prof","status":"inherit","uploaded_to":2965079,"date":"2026-05-11 18:31:37","modified":"2026-05-11 19:00:24","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":399,"height":298,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/elev_prof-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/elev_prof.gif","medium-width":349,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/elev_prof.gif","medium_large-width":399,"medium_large-height":298,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/elev_prof.gif","large-width":399,"large-height":298,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/elev_prof.gif","1536x1536-width":399,"1536x1536-height":298,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/elev_prof.gif","2048x2048-width":399,"2048x2048-height":298,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/elev_prof.gif","card_image-width":399,"card_image-height":298,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/elev_prof.gif","wide_image-width":399,"wide_image-height":298}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3><strong>Realistic stars<\/strong><\/h3>\n<p>We made an aesthetic improvement to the SceneView by adding realistic stars to the background. The background responds to date and time changes set on the SceneView. This adds temporal realism to scenes, enabling you to create more context-aware 3D experiences.<\/p>\n<p>The video below demonstrates the visual update and how it responds to the current time of the day.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2965377,"id":2965377,"title":"r_s","filename":"r_s-1.gif","filesize":19702869,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/r_s-1.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\/r_s-2","alt":"","author":"10152","description":"","caption":"Realistic stars responding to change of time of the day.","name":"r_s-2","status":"inherit","uploaded_to":2965079,"date":"2026-05-11 19:10:32","modified":"2026-05-11 19:10:54","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":416,"height":311,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/r_s-1-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/r_s-1.gif","medium-width":349,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/r_s-1.gif","medium_large-width":416,"medium_large-height":311,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/r_s-1.gif","large-width":416,"large-height":311,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/r_s-1.gif","1536x1536-width":416,"1536x1536-height":311,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/r_s-1.gif","2048x2048-width":416,"2048x2048-height":311,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/r_s-1.gif","card_image-width":416,"card_image-height":311,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/r_s-1.gif","wide_image-width":416,"wide_image-height":311}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3><strong>Performance improvements<\/strong><\/h3>\n<p>Beyond the new features highlighted above, this release delivers meaningful performance gains across the scene and SceneView. These improvements significantly enhance responsiveness and overall user experience. Some of the key performance enhancements are highlighted below<\/p>\n<h4><strong>Performance of 3D Tiles layer using the Google Photorealistic Tiles<\/strong><\/h4>\n<p>Support for 3D Tiles has been available for some time, but prior to 300.0, rendering massive datasets\u2014such as Google Photorealistic Tiles\u2014could become a performance bottleneck.<\/p>\n<p>In this release, we made rendering optimizations that greatly improve performance and responsiveness when working with Google Photorealistic 3D Tiles. The result is a noticeably <strong>smoother, faster, and more immersive experience<\/strong>, even when visualizing dense, city\u2011scale data. With these improvements you can now confidently include Google Photorealistic Tiles in your native apps to take advantage of the rich detail they deliver.<\/p>\n<p>The video below highlights this improvement in action.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2965373,"id":2965373,"title":"pr_tiles","filename":"pr_tiles-1.gif","filesize":61942645,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/pr_tiles-1.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\/pr_tiles-2","alt":"","author":"10152","description":"","caption":"Google Photorealistic Tiles added as an Ogc3DTilesLayer.","name":"pr_tiles-2","status":"inherit","uploaded_to":2965079,"date":"2026-05-11 19:06:14","modified":"2026-05-11 19:06:50","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":554,"height":311,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/pr_tiles-1-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/pr_tiles-1.gif","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/pr_tiles-1.gif","medium_large-width":554,"medium_large-height":311,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/pr_tiles-1.gif","large-width":554,"large-height":311,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/pr_tiles-1.gif","1536x1536-width":554,"1536x1536-height":311,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/pr_tiles-1.gif","2048x2048-width":554,"2048x2048-height":311,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/pr_tiles-1.gif","card_image-width":554,"card_image-height":311,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/05\/pr_tiles-1.gif","wide_image-width":554,"wide_image-height":311}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h4><strong>Faster Identify in Scenes containing Dense FeatureLayers<\/strong><\/h4>\n<p>Identify performance in SceneView has also been significantly improved for scenarios involving <strong>very high data density<\/strong>. While the change may be subtle with smaller datasets, the impact becomes clear at scale. In our testing, a scene with over 7 million features across 60 or more layers experienced up to 30% reduction in an identify response and retrieving the popup information across all the layers.<\/p>\n<p>These improvements make Identify more responsive and reliable, helping users interact fluidly with even the most complex 3D scenes.<\/p>\n<h3><strong>Conclusion<\/strong><\/h3>\n<p>The 300.0 release reinforces our commitment to making SceneView faster, simpler, and more capable at scale. For you, this means better visual fidelity, simpler elevation workflows, and noticeably faster interactions\u2014even at city scale. These improvements enhance existing SceneView workflows and complement other 300.0 additions, including the new LocalSceneView and BuildingSceneLayer support.<\/p>\n<p>If you\u2019re deciding which view best fits your use case, <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/local-or-global-scene-for-your-3d-app\">this blog<\/a> walks through the key differences and recommended workflows. We\u2019re excited to see the experiences you build with these improvements and look forward to continuing the conversation through your feedback.<\/p>\n<p>If you are ready to put these improvements into practice explore the resources below to start building with the latest SceneView enhancements in Native Maps SDK 300.0.<\/p>\n<ul>\n<li>\ud83d\udcda <a href=\"https:\/\/developers.arcgis.com\/qt\/\">Read the documentation<\/a> to learn more about the new APIs and updated workflows<\/li>\n<li>\ud83e\uddea <strong>Try the samples<\/strong> to see <a href=\"https:\/\/github.com\/Esri\/arcgis-maps-sdk-samples-qt\/tree\/main\/CppSamples\/Layers\/ListKmlContents\">KmlPhotoOverlay rendering<\/a><\/li>\n<li>\ud83d\udcac <strong>Share feedback or ask questions<\/strong>\u2014we\u2019d love to hear how these changes are working for you in our <a href=\"https:\/\/community.esri.com\/t5\/arcgis-maps-sdks-for-native-apps\/ct-p\/arcgis-runtime-sdks\">community<\/a>.<\/li>\n<\/ul>\n<p>Upgrade to 300.0 and start building faster, more immersive 3D experiences today.<\/p>\n"}],"related_articles":[{"ID":2963853,"post_author":"357132","post_date":"2026-05-04 08:00:59","post_date_gmt":"2026-05-04 15:00:59","post_content":"","post_title":"Local or Global Scene? Which Should You Use for Your 3D Native App?","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"local-or-global-scene-for-your-3d-app","to_ping":"","pinged":"","post_modified":"2026-05-04 10:26:07","post_modified_gmt":"2026-05-04 17:26:07","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2963853","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"show_article_image":false,"card_image":false,"wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-14T22:02:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\"},\"author\":{\"name\":\"Koushik Hajra\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/bc6919b07c0800535d03064ff373a802\"},\"headline\":\"SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0\",\"datePublished\":\"2026-05-11T19:32:57+00:00\",\"dateModified\":\"2026-05-14T22:02:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\"},\"wordCount\":9,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"3D\",\"ArcGIS Maps SDKs for Native Apps\",\"what's new\"],\"articleSection\":[\"3D Visualization &amp; Analytics\",\"Developers\",\"Mapping\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\",\"name\":\"SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2026-05-11T19:32:57+00:00\",\"dateModified\":\"2026-05-14T22:02:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/bc6919b07c0800535d03064ff373a802\",\"name\":\"Koushik Hajra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/82c2e5bcc4a327abbb93fa36a32ac27e07e28b729377c4a8dded6568b2edcdb8?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/82c2e5bcc4a327abbb93fa36a32ac27e07e28b729377c4a8dded6568b2edcdb8?s=96&d=blank&r=g\",\"caption\":\"Koushik Hajra\"},\"description\":\"Koushik is a Principal Product Engineer with the ArcGIS Maps SDKs for Native Apps team. He primarily works on the 3D layers specializing in Qt SDK. He is passionate about building high quality functional APIs for our users. Koushik presents at Esri conferences like Developers Summit or the Users Conference where he talks about using the different parts of the Maps SDK.\",\"sameAs\":[\"www.linkedin.com\/in\/ koushik-hajra-2b32a41\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/khajra\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0","og_locale":"en_US","og_type":"article","og_title":"SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2026-05-14T22:02:12+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0"},"author":{"name":"Koushik Hajra","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/bc6919b07c0800535d03064ff373a802"},"headline":"SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0","datePublished":"2026-05-11T19:32:57+00:00","dateModified":"2026-05-14T22:02:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0"},"wordCount":9,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["3D","ArcGIS Maps SDKs for Native Apps","what's new"],"articleSection":["3D Visualization &amp; Analytics","Developers","Mapping"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0","name":"SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2026-05-11T19:32:57+00:00","dateModified":"2026-05-14T22:02:12+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/3d-gis\/sceneview-improvements-in-native-maps-sdk-300-0#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"SceneView Improvements in ArcGIS Maps SDKs for Native Apps 300.0"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/bc6919b07c0800535d03064ff373a802","name":"Koushik Hajra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/82c2e5bcc4a327abbb93fa36a32ac27e07e28b729377c4a8dded6568b2edcdb8?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/82c2e5bcc4a327abbb93fa36a32ac27e07e28b729377c4a8dded6568b2edcdb8?s=96&d=blank&r=g","caption":"Koushik Hajra"},"description":"Koushik is a Principal Product Engineer with the ArcGIS Maps SDKs for Native Apps team. He primarily works on the 3D layers specializing in Qt SDK. He is passionate about building high quality functional APIs for our users. Koushik presents at Esri conferences like Developers Summit or the Users Conference where he talks about using the different parts of the Maps SDK.","sameAs":["www.linkedin.com\/in\/ koushik-hajra-2b32a41"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/khajra"}]}},"text_date":"May 11, 2026","author_name":"Koushik Hajra","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/khajra","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"Developers","tag_data":[{"term_id":25781,"name":"3D","slug":"3d","term_group":0,"term_taxonomy_id":25781,"taxonomy":"post_tag","description":"","parent":0,"count":348,"filter":"raw"},{"term_id":768202,"name":"ArcGIS Maps SDKs for Native Apps","slug":"arcgis-maps-sdks-for-native-apps","term_group":0,"term_taxonomy_id":768202,"taxonomy":"post_tag","description":"","parent":0,"count":31,"filter":"raw"},{"term_id":23571,"name":"what's new","slug":"whats-new","term_group":0,"term_taxonomy_id":23571,"taxonomy":"post_tag","description":"","parent":0,"count":590,"filter":"raw"}],"category_data":[{"term_id":23771,"name":"3D Visualization &amp; Analytics","slug":"3d-gis","term_group":0,"term_taxonomy_id":23771,"taxonomy":"category","description":"","parent":0,"count":703,"filter":"raw"},{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":430,"filter":"raw"},{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2710,"filter":"raw"}],"product_data":[{"term_id":769142,"name":"ArcGIS Maps SDK for .NET","slug":"sdk-net","term_group":0,"term_taxonomy_id":769142,"taxonomy":"product","description":"","parent":36601,"count":42,"filter":"raw"},{"term_id":776202,"name":"ArcGIS Maps SDK for Flutter","slug":"sdk-flutter","term_group":0,"term_taxonomy_id":776202,"taxonomy":"product","description":"","parent":36601,"count":21,"filter":"raw"},{"term_id":768902,"name":"ArcGIS Maps SDK for Kotlin","slug":"sdk-kotlin","term_group":0,"term_taxonomy_id":768902,"taxonomy":"product","description":"","parent":36601,"count":37,"filter":"raw"},{"term_id":769152,"name":"ArcGIS Maps SDK for Qt","slug":"sdk-qt","term_group":0,"term_taxonomy_id":769152,"taxonomy":"product","description":"","parent":36601,"count":41,"filter":"raw"},{"term_id":768912,"name":"ArcGIS Maps SDK for Swift","slug":"sdk-swift","term_group":0,"term_taxonomy_id":768912,"taxonomy":"product","description":"","parent":36601,"count":36,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":768,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=developers","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2965079","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/10152"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2965079"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2965079\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2965079"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2965079"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2965079"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2965079"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2965079"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}