Frequently Asked Questions
There have been significant changes to the object model in order to enable higher productivity and effectiveness. Due to these major changes in the API, the cleanest approach is to re-write apps from scratch when building with the 4.x API. For more information, see Migrating from 3.x to 4.20.
Our premier web mapping API, version 4.x, now offers optimized performance and an extensive suite of capabilities far beyond what 3.x provides with a few exceptions. Developers should use version 4.x for all new web apps and evaluate whether it makes sense to migrate existing 3.x-based applications to 4.x based on app requirements and strategy.
The 4.x API supports the ability to add, update and delete feature data in 2D and 3D using the Editor widget as of version 4.11 and FeatureTable widget as of version 4.16. The capabilities include viewing and editing attachments in both the Editor and Popup widgets as of version 4.15. Here’s a sample app demonstrating using popups with attachments. For an overview of capabilities check out the Web Editing in 2D and 3D technical session video.
Additional editing and drawing support will be released in a phased approach. This includes more sophisticated sketching capabilities and editing related records. Full editing support is planned for 2021.
See the 3x to 4x functionality matrix topic for more information.
Yes, see the Introduction to tooling guide topic for more information.
Use either the MapView.hitTest or SceneView.hitTest methods to search for graphics that intersect the specified screen coordinates. See the Access features with click events for a sample on how this works.
We release four times a year. Version 4.21 is planned for fall 2021, and version 4.22 is planned for winter 2021.
Before upgrading to a newer version of the API, we recommend thoroughly reviewing the latest breaking changes section of the release notes. Please refer to the Breaking changes guide topic for a complete list of breaking changes across all releases of the 4x API. Here are our general guidelines for introducing breaking changes:
- Major breaking changes are phased in over three or more releases. An example of this was the switch to WebGL-only rendering. The first release offers the functionality as opt-in. In the second release the functionality is on by default with an opt-out option. Then after the third release the functionality is removed.
- Minor breaking changes, such as a property that was renamed, is phased in over two or more releases. The first release provides a console message and documentation update. After two or more releases the functionality is removed.
While we follow these guidelines as much as possible, there are infrequent circumstances when we will introduce changes without prior notice. For example, breaking changes related to browser security updates. Another example could be changes required in order to introduce a new feature: in this scenario we will weigh delaying the release of the feature against the downside of introducing a breaking change without notice.
- We are interested in gathering feedback with respect to ease of use of the API and whether the functionality adequately meets developer use-cases.
- In some cases, aspects of the capability haven't been implemented yet, for example it might not support all layer types yet. In those cases, limitations will be noted in the API reference.
- Beta functionality is tested but still provisional. API, behavior and end-user experience might change based on feedback or an improved design.
- Configuration for some beta capabilities may not be saved to web maps and web scenes.
- If you later decide to upgrade your application to a new API version, there might be code changes required in order for the capability to continue to work properly (due to # 3 above).
- Esri's standard policies for beta software can be found at https://www.esri.com/content/dam/esrisites/en-us/media/legal/ma-translations/english.pdf.
For learning about 3D basics in the 4.x API, check out the Fundamentals for Building 3D Web Apps Developer Summit technical session video. It provides an overview of the 3D platform, core concepts, key API functionality, data and more. There are also several 10 minute, step-by-step coding tutorials: Display a map and Add layers to a 3D scene.
Yes, the 4.x API works with 3D scenes in the browser on your phone without a plugin. All you need is a URL to your app to interact with your data in 3D. Here’s a helpful video on building progressive web applications with the 4.x API. And here is a blog discussing an interesting example of 3D web mapping on mobile devices. The Hardware Requirements page has more information as well as a list of supported mobile devices.
There are multiple resources related to using BIM, or Building Information Modeling, data with the 4.x API including videos, blog posts and samples. Here are two DevSummit technical session videos: Create 3D Planning Web Apps using BIM and Editing Capabilities and Roadmap for BIM-GIS Interoperability. There is also blog post that discusses Common Patterns for BIM and GIS Integration. The blog covers drivers for integration, patterns for data interchange and more. There are also several API samples.
Working in 3D, you can incorporate real-world elements with your content such as variations in terrain and realistic rendering of trees, buildings, and subsurface geology. Learn about the different types of scene layers for displaying and analyzing 3D data with the 4.x API. You can also browse for ready-made example 3D scenes in the ArcGIS Living Atlas. There is a Practical Guide for Building a 3D Web App from 2D data technical session video where you learn about building sophisticated 3D apps that leverage modern browser technology to render your 2D features with 3D symbology.