ArcGIS Maps SDK for Java is designed for developers who want to write cross-platform desktop applications based on the JavaFX framework. Write your Java code once and then your apps can be deployed to Windows, Linux, or macOS.
This page describes common ArcGIS Maps SDK for Java capabilities you can add to your app. For an interactive overview, download the ArcGIS Maps SDK for Java Sample Viewer and explore dozens of interactive samples and view the code that powers them.
Use API keys and OAuth 2.0 to access ArcGIS location services and ArcGIS Enterprise services.
Display basemap layers
Access streets, satellite imagery, and other vector tile styles and image tiles from the basemap layer service.
Visualize data in 3D
Create realistic, interactive, three dimensional visualizations of your data.
Display hosted data layers
Access and display hosted feature layers from data services.
Query feature data
Use attribute expressions, spatial relationships, and time ranges to return query results from feature layers and map services.
Display local data
Display features from a local data source, such as a shapefile, geodatabase, geopackage, or other supported file.
Allow users to create and edit features, add, edit or remove feature attachments, and edit the geometry of features.
Get device location
Display the user's location on the map using an integrated or external GPS.
Find the location of an address using the geocoding service.
Search for businesses, restaurants, and other points of interest using the geocoding service.
Take a map offline (on-demand)
Allow users to take an area of your web map offline (while connected) for use without a network connection.
Take a map offline (ahead of time)
Define areas of your web map that users can download (while connected) for use without a network connection.
Run traces on utility networks
Discover connected features in a utility network using connected, subnetwork, upstream, and downstream traces.
Perform client-side geometry analysis
Evaluate spatial relationships with powerful client-side geometry operations.
Find routes and directions
Find routes and directions to one or more locations using the routing service.
Support multiuser editing
Use geodatabase versioning to accommodate multiuser editing scenarios and long transactions.
Create data-driven visualizations
Apply renderers and label definitions to a feature layer based on attribute values.
Receive notifications when users enter or leave a specified area of the map.
Display floor-aware maps
Filter the features displayed in your map or scene based on floor levels.
Analyze visibility in 3D
Perform 3D measurement and visibility analysis.
Make accurate geodesic measurements of distance and area.