{"id":785891,"date":"2020-04-09T11:45:27","date_gmt":"2020-04-09T18:45:27","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=785891"},"modified":"2020-04-09T11:46:31","modified_gmt":"2020-04-09T18:46:31","slug":"whats-new-in-arcgis-api-for-javascript-april-2020","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020","title":{"rendered":"What\u2019s New in ArcGIS API for JavaScript (April 2020)"},"author":4271,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[37101],"tags":[96582,27491,578171],"industry":[],"product":[36831],"class_list":["post-785891","blog","type-blog","status-publish","format-standard","hentry","category-announcements","tag-arcgis-api-for-javascript","tag-jsapi4","tag-whats-new-march-2020","product-js-api-arcgis"],"acf":{"short_description":"This API update introduces the ability to edit feature layers in 3D, a new feature table widget, viewing and editing of attachments, and more.","flexible_content":[{"acf_fc_layout":"content","content":"<p>Today&#8217;s update to the ArcGIS API for JavaScript (version 4.15) brings something incredible to web development &#8211; the ability to interactively edit feature layers in 3D web apps. With minimal code, you can enable a full end-to-end editing experience with sketching tools optimized for working in 3D. What&#8217;s more, version 4.15 includes many other useful capabilities such as the feature table widget, attachment editing, and the ability to drape features on top of integrated mesh layers. Let&#8217;s have a look at some of the highlights of this release&#8230;<\/p>\n"},{"acf_fc_layout":"content","content":"<h2>Edit feature layers in 3D!<\/h2>\n<p>You can now build editing workflows in 2D <em>and<\/em> 3D web apps using the enhanced <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-editor-3d\/index.html\">Editor<\/a> widget. The Editor widget allows end users to interactively create and update point, line, and polygon features (and their attributes) in feature layers displayed in a 3D scene.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":802511,"id":802511,"title":"2020-03 editing-1","filename":"2020-03-editing-1.gif","filesize":1553477,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/2020-03-editing-1.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\/2020-03-editing-1","alt":"","author":"4271","description":"","caption":"","name":"2020-03-editing-1","status":"inherit","uploaded_to":785891,"date":"2020-04-07 17:33:41","modified":"2020-04-07 17:33:41","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":800,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/2020-03-editing-1-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/2020-03-editing-1.gif","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/2020-03-editing-1.gif","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/2020-03-editing-1.gif","large-width":800,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/2020-03-editing-1.gif","1536x1536-width":800,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/2020-03-editing-1.gif","2048x2048-width":800,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/2020-03-editing-1.gif","card_image-width":800,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/2020-03-editing-1.gif","wide_image-width":800,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":"http:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-editor-3d\/index.html"},{"acf_fc_layout":"content","content":"<p>To assist with editing geometries in 3D, the following enhancements have been made to sketch tools:<\/p>\n<ul>\n<li>In addition to the option of being placed on the ground, features can be moved along the z-axis above or below ground.<\/li>\n<li>The interactive handles placed on 3D symbols allow them to be scaled or rotated.<\/li>\n<li>Laser lines projected onto the terrain and objects in the scene help you align geometries in the 3D space.<\/li>\n<\/ul>\n<h2>Feature table widget (beta)<\/h2>\n<p>The\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-FeatureTable.html\">FeatureTable<\/a> widget provides an interactive tabular view of each feature&#8217;s attributes in a feature layer. The table efficiently loads large datasets quickly; as the user scrolls through the table, features are dynamically loaded. In addition, users can select rows (features) within the table, sort them based on an attribute, and choose to show\/hide an attribute column. This widget is still in its beta version and will evolve with upcoming releases.<\/p>\n<p>This\u00a0widget can be used on its own as a simple table without a map, or in conjunction with a map.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":803981,"id":803981,"title":"feature_table","filename":"feature_table-1.png","filesize":80535,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/feature_table-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\/feature_table-2","alt":"","author":"4271","description":"","caption":"","name":"feature_table-2","status":"inherit","uploaded_to":785891,"date":"2020-04-07 23:23:03","modified":"2020-04-07 23:23:03","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":1138,"height":570,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/feature_table-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/feature_table-1.png","medium-width":464,"medium-height":232,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/feature_table-1.png","medium_large-width":768,"medium_large-height":385,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/feature_table-1.png","large-width":1138,"large-height":570,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/feature_table-1.png","1536x1536-width":1138,"1536x1536-height":570,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/feature_table-1.png","2048x2048-width":1138,"2048x2048-height":570,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/feature_table-1-826x414.png","card_image-width":826,"card_image-height":414,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/feature_table-1.png","wide_image-width":1138,"wide_image-height":570}},"image_position":"center","orientation":"horizontal","hyperlink":"http:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-featuretable-map\/index.html"},{"acf_fc_layout":"content","content":"<h2>Working with attachments<\/h2>\n<p>Attachments now can be edited via the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Editor.html\">Editor<\/a> widget. If the feature layer being edited has attachments enabled, controls for adding, deleting, and updating are displayed in the widget.<\/p>\n<p>Some improvements have been made to how attachments are displayed in popups. Along with a thumbnail of the attachment, the file format and size are displayed. If the file format isn\u2019t an image file, a thumbnail indicating the type of file is shown. Under the hood, the popup is using the new <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Attachments.html\">Attachments<\/a> widget. Since the attachment experience is packaged as a standalone widget, you can also integrate attachment viewing into your own custom workflows.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":802551,"id":802551,"title":"attachments-merged","filename":"attachments-merged.png","filesize":83238,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/attachments-merged.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\/attachments-merged","alt":"","author":"4271","description":"","caption":"","name":"attachments-merged","status":"inherit","uploaded_to":785891,"date":"2020-04-07 17:38:49","modified":"2020-04-07 17:38:49","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":1008,"height":474,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/attachments-merged-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/attachments-merged.png","medium-width":464,"medium-height":218,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/attachments-merged.png","medium_large-width":768,"medium_large-height":361,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/attachments-merged.png","large-width":1008,"large-height":474,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/attachments-merged.png","1536x1536-width":1008,"1536x1536-height":474,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/attachments-merged.png","2048x2048-width":1008,"2048x2048-height":474,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/attachments-merged-826x388.png","card_image-width":826,"card_image-height":388,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/attachments-merged.png","wide_image-width":1008,"wide_image-height":474}},"image_position":"center","orientation":"horizontal","hyperlink":"http:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/popup-editaction\/index.html"},{"acf_fc_layout":"content","content":"<h2>Filter parts of a BuildingSceneLayer using x-ray or wireframe styles<\/h2>\n<p>Building scene layers often contain complex digital models of buildings and interiors. Because of the high complexity, it&#8217;s important to be able to filter the data. New <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-BuildingSceneLayer.html#filtering\">filter modes<\/a>\u00a0in the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-BuildingSceneLayer.html\">BuildingSceneLayer<\/a> allow you to highlight features in a BIM model while still showing other parts of the building. You can filter using the x-ray mode for transparency or the wire-frame mode to only show feature outlines.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":802561,"id":802561,"title":"3d-bsl-filters","filename":"3d-bsl-filters.gif","filesize":221802,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-bsl-filters.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\/3d-bsl-filters","alt":"","author":"4271","description":"","caption":"","name":"3d-bsl-filters","status":"inherit","uploaded_to":785891,"date":"2020-04-07 17:39:55","modified":"2020-04-07 17:39:55","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":800,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-bsl-filters-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-bsl-filters.gif","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-bsl-filters.gif","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-bsl-filters.gif","large-width":800,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-bsl-filters.gif","1536x1536-width":800,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-bsl-filters.gif","2048x2048-width":800,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-bsl-filters.gif","card_image-width":800,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-bsl-filters.gif","wide_image-width":800,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":"http:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/building-scene-layer-filter\/index.html"},{"acf_fc_layout":"content","content":"<h2>Align features to integrated mesh layers<\/h2>\n<p>As far as elevation is concerned, the API now treats an\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-IntegratedMeshLayer.html\">IntegratedMeshLayer<\/a> in your 3D scene as if it was the ground. This means you can annotate specific areas of the integrated mesh by draping polygons directly onto it using the\u00a0<i data-stringify-type=\"italic\">on-the-ground<\/i> elevation mode. Point or line symbology for example that have relative-to-ground as their elevation mode are offset vertically relative to the integrated mesh.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":802571,"id":802571,"title":"3d-im-draping","filename":"3d-im-draping.png","filesize":118744,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-im-draping.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\/3d-im-draping","alt":"","author":"4271","description":"","caption":"","name":"3d-im-draping","status":"inherit","uploaded_to":785891,"date":"2020-04-07 17:40:49","modified":"2020-04-07 17:40:49","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":800,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-im-draping-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-im-draping.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-im-draping.png","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-im-draping.png","large-width":800,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-im-draping.png","1536x1536-width":800,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-im-draping.png","2048x2048-width":800,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-im-draping.png","card_image-width":800,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/3d-im-draping.png","wide_image-width":800,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":"http:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/layers-integratedmeshlayer\/index.html"},{"acf_fc_layout":"content","content":"<h2>API modernization<\/h2>\n<p>The API now returns native promises by default. For developers, this means that any promise you receive from the API is now a standard <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Promise\">JavaScript promise<\/a> (aka \u201cnative promise\u201d). They are nearly identical to Dojo deferred\/promise, with the a few differences which are listed in the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/release-notes\/#api-modernization\">release notes<\/a>. <em>Note: This might require code changes in your app.<\/em><\/p>\n<p>If you are not ready to move to native promises, you can opt out by using the has flag which <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/4.12\/index.html#api-modernization\">was made available to enable native JavaScript promises in 4.12<\/a>. This flag will be removed in the next release (4.16).<\/p>\n<p>For a very high-level view of the direction that the API is heading, checkout the <a href=\"https:\/\/youtu.be\/woTI3jB5Z2Q\">API modernization<\/a><span class=\"TextRun SCXW169566868 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW169566868 BCX0\" data-wac-het=\"1\">\u00a0<\/span><\/span>portion of the 2020 Developer Summit plenary. API modernization will also be covered in an upcoming blog post in greater detail.<\/p>\n<h2>There&#8217;s a lot more&#8230;<\/h2>\n<p>There&#8217;s quite a bit more in this release, such as improvements to point clustering, widget enhancements, a new metallic roughness material for mesh geometries (you can see it in this cool rendition of <a href=\"https:\/\/ralucanicola.github.io\/ski-resort-map\/\">Mammoth Mountain<\/a>), and new options for popups. To learn more about the release, explore:<\/p>\n<ul>\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/release-notes\/\">Release notes<\/a><\/li>\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/?search=4.15\">Latest samples<\/a><\/li>\n<\/ul>\n<p>Now that 4.15 is out the door, the team is already working hard on version 4.16 (summer 2020). If you would like to try out new features once they are ready for testing, validate bug fixes in your own apps\/environment, contribute feedback, or simply follow the team&#8217;s progress, check out the early API access repo on GitHub (<a href=\"https:\/\/github.com\/Esri\/feedback-js-api-next\">\/next<\/a>).<\/p>\n"}],"authors":[{"ID":4271,"user_firstname":"Julie","user_lastname":"Powell","nickname":"Julie Powell","user_nicename":"julie-powell","display_name":"Julie Powell","user_email":"julie_powell@esri.com","user_url":"","user_registered":"2018-03-02 00:15:51","user_description":"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. \r\nJulie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":7451,"user_firstname":"Noah","user_lastname":"Sager","nickname":"Noah Sager","user_nicename":"noah-sager","display_name":"Noah Sager","user_email":"NSager@esri.com","user_url":"https:\/\/www.noahsager.net\/","user_registered":"2018-03-21 18:21:19","user_description":"Passionate about JavaScript, maps, and writing (not necessarily in that order). Big fan of squirrels. Journeyman mapper of Utility Lines and Public Restrooms. Product Engineer on the ArcGIS API for JavaScript team. In Noah\u2019s spare time, he also enjoys parenting.","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"},{"ID":3801,"user_firstname":"Andy","user_lastname":"Gup","nickname":"andygup","user_nicename":"andygup","display_name":"Andy Gup","user_email":"agup@esri.com","user_url":"http:\/\/www.andygup.net","user_registered":"2018-03-02 00:15:25","user_description":"I spend a ton of time outdoors and when not on a mountain somewhere I'm a Sr. Product Engineer for the ArcGIS Maps SDK for JavaScript. I work on ES modules, 3rd party JavaScript frameworks, and other cool mapping-related goodies.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/andy_gup_thumb4-1.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":782101,"post_author":"7531","post_date":"2020-03-26 09:21:44","post_date_gmt":"2020-03-26 16:21:44","post_content":"","post_title":"Writing Modern JavaScript with the ArcGIS API for JavaScript","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"writing-modern-javascript-with-the-arcgis-api-for-javascript","to_ping":"","pinged":"","post_modified":"2020-03-26 09:21:44","post_modified_gmt":"2020-03-26 16:21:44","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=782101","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":686592,"post_author":"6561","post_date":"2020-01-07 08:00:08","post_date_gmt":"2020-01-07 16:00:08","post_content":"","post_title":"Point clustering now available in ArcGIS JavaScript 4.x API","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"point-clustering-now-available-in-arcgis-javascript-4-x-api","to_ping":"","pinged":"","post_modified":"2020-01-07 08:02:58","post_modified_gmt":"2020-01-07 16:02:58","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=686592","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":719182,"post_author":"4271","post_date":"2020-02-13 09:46:55","post_date_gmt":"2020-02-13 17:46:55","post_content":"","post_title":"Using GeoJSON layers and more in the ArcGIS API for JavaScript","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"using-geojson-layers-and-more-in-the-arcgis-api-for-javascript","to_ping":"","pinged":"","post_modified":"2020-02-13 10:36:37","post_modified_gmt":"2020-02-13 18:36:37","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=719182","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/card2.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/banner3.png"},"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>What\u2019s New in ArcGIS API for JavaScript (April 2020)<\/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\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What\u2019s New in ArcGIS API for JavaScript (April 2020)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\" \/>\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=\"2020-04-09T18:46:31+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\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\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\"},\"author\":{\"name\":\"Julie Powell\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3ef71df36f6aacca26eb2c7f65f15e88\"},\"headline\":\"What\u2019s New in ArcGIS API for JavaScript (April 2020)\",\"datePublished\":\"2020-04-09T18:45:27+00:00\",\"dateModified\":\"2020-04-09T18:46:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\"},\"wordCount\":9,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS API for JavaScript\",\"jsapi4\",\"whats new march 2020\"],\"articleSection\":[\"Announcements\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\",\"name\":\"What\u2019s New in ArcGIS API for JavaScript (April 2020)\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2020-04-09T18:45:27+00:00\",\"dateModified\":\"2020-04-09T18:46:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What\u2019s New in ArcGIS API for JavaScript (April 2020)\"}]},{\"@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\/3ef71df36f6aacca26eb2c7f65f15e88\",\"name\":\"Julie Powell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png\",\"caption\":\"Julie Powell\"},\"description\":\"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. Julie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.\",\"sameAs\":[\"https:\/\/x.com\/JuliePowellGIS\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/julie-powell\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What\u2019s New in ArcGIS API for JavaScript (April 2020)","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\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020","og_locale":"en_US","og_type":"article","og_title":"What\u2019s New in ArcGIS API for JavaScript (April 2020)","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2020-04-09T18:46:31+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020"},"author":{"name":"Julie Powell","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3ef71df36f6aacca26eb2c7f65f15e88"},"headline":"What\u2019s New in ArcGIS API for JavaScript (April 2020)","datePublished":"2020-04-09T18:45:27+00:00","dateModified":"2020-04-09T18:46:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020"},"wordCount":9,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS API for JavaScript","jsapi4","whats new march 2020"],"articleSection":["Announcements"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020","name":"What\u2019s New in ArcGIS API for JavaScript (April 2020)","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2020-04-09T18:45:27+00:00","dateModified":"2020-04-09T18:46:31+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"What\u2019s New in ArcGIS API for JavaScript (April 2020)"}]},{"@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\/3ef71df36f6aacca26eb2c7f65f15e88","name":"Julie Powell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png","caption":"Julie Powell"},"description":"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. Julie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.","sameAs":["https:\/\/x.com\/JuliePowellGIS"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/julie-powell"}]}},"text_date":"April 9, 2020","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-api-for-javascript-april-2020","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/banner3.png","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":96582,"name":"ArcGIS API for JavaScript","slug":"arcgis-api-for-javascript","term_group":0,"term_taxonomy_id":96582,"taxonomy":"post_tag","description":"","parent":0,"count":58,"filter":"raw"},{"term_id":27491,"name":"jsapi4","slug":"jsapi4","term_group":0,"term_taxonomy_id":27491,"taxonomy":"post_tag","description":"","parent":0,"count":111,"filter":"raw"},{"term_id":578171,"name":"whats new march 2020","slug":"whats-new-march-2020","term_group":0,"term_taxonomy_id":578171,"taxonomy":"post_tag","description":"","parent":0,"count":23,"filter":"raw"}],"category_data":[{"term_id":37101,"name":"Announcements","slug":"announcements","term_group":0,"term_taxonomy_id":37101,"taxonomy":"category","description":"","parent":0,"count":1957,"filter":"raw"}],"product_data":[{"term_id":36831,"name":"ArcGIS Maps SDK for JavaScript","slug":"js-api-arcgis","term_group":0,"term_taxonomy_id":36831,"taxonomy":"product","description":"","parent":36601,"count":361,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=js-api-arcgis","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/785891","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\/4271"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=785891"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/785891\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=785891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=785891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=785891"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=785891"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=785891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}