Skip to contentEsri Developer
  • Documentation

    Maps and scenes

    Build 2D and 3D mapping applications with client APIs, the basemap styles service, and data services.

    Learn more in the Mapping and location services guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Portal and content management

    Use the portal service to create, manage, and access geospatial content and to also manage users and groups in your portal.

    Learn more in the Portal and data services guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Data hosting

    Import, manage, and access your data by creating data services in ArcGIS.

    Learn more in the Portal and data services guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Data visualization

    Style 2D and 3D data from feature services and scene services.

    Learn more in the Mapping and location services guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Spatial analysis

    Discover patterns, gain insights, and solve problems using the spatial analysis and raster analysis services.

    Learn more in the Spatial analysis services guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Place search

    Find places and get detailed information for businesses, locations, and other points of interest with the places service.

    Learn more in the Mapping and location services guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Geocoding addresses

    Search for addresses, reverse geocode, get suggestions, and batch geocode with the geocoding service.

    Learn more in the Mapping and location services guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Routing and directions

    Find routes and directions or solve complex network problems with the routing service.

    Learn more in the Mapping and location services guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Data enrichment

    Get local facts and demographic data for locations with the GeoEnrichment service.

    Learn more in the Mapping and location services guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Elevation

    Get elevation values for a single location or multiple locations on land or water.

    Learn more in the Mapping and location services guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Security and authentication

    Access secure content and services in ArcGIS with API keys, OAuth 2.0, and user authentication.

    Learn more in the Security and authentication guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Offline mapping apps

    Build applications that work when network connectivity is unreliable or entirely absent.

    Learn more in the Offline mapping apps guide

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor

    Find datasets

    Discover vector, raster, and table datasets for your applications.

    Learn where you can find datasets

    Topics

    • Mapping
    • Types of mapping apps
    • How to build a mapping app
    • Maps (2D)
    • Scenes (3D)
    • Basemaps
    • Custom basemap styles
    • Data layers
    • Web maps
    • Web scenes

    Tutorials

    • JavaScript Maps SDK
    • .NET Maps SDK
    • Kotlin Maps SDK
    • Swift Maps SDK
    • Flutter Maps SDK
    • Java Maps SDK
    • Qt Maps SDK
    • Unity Maps SDK
    • Unreal Engine Maps SDK
    • Leaflet
    • MapLibre GL JS
    • OpenLayers
    • CesiumJS
    • Python API
    • Map Viewer
    • Scene Viewer
    • Vector tile style editor
  • SDKs and APIs
  • Explore developer products
    • Explore help resources

      ArcGIS Maps SDK for JavaScriptReferences

      • Home
      • Sample Code
      • References
      • Showcase
      • Blogs
      • core
        • AttributeBinsGraphic
        • Basemap
        • Camera
        • CameraLayout
        • Color
        • Graphic
        • Ground
        • Map
        • PopupTemplate
        • Viewpoint
        • WebDocument2D
        • WebLinkChart
        • WebMap
        • WebScene
        • arcade
        • config
        • intl
        • kernel
        • request
        • unionTypes
        • analysis
        • core
        • editing
        • effects
        • form
        • geometry
        • graphic
        • ground
          • NavigationConstraint
        • identity
        • layers
        • linkChart
        • networks
        • popup
        • portal
        • renderers
        • rest
        • smartMapping
        • statistics
        • support
        • symbols
        • tables
        • time
        • versionManagement
        • views
        • webdoc
        • webmap
        • webscene
        • widgets
      • map-components
      • charts-components
      • ai-components
      • embeddable-components
      • common-components
      • coding-components

      NavigationConstraint

      import NavigationConstraint from "@arcgis/core/ground/NavigationConstraint.js";
      const NavigationConstraint = await $arcgis.import("@arcgis/core/ground/NavigationConstraint.js");
      Inheritance:
      NavigationConstraint→Accessor
      Since
      ArcGIS Maps SDK for JavaScript 5.0

      Constructors

      Constructor

      Constructor
      Parameters
      ParameterTypeDescriptionRequired
      properties
      NavigationConstraintProperties
      See the properties table for a list of all the properties that may be passed into the constructor.

      Properties

      Any properties can be set, retrieved or listened to. See the Watch for changes topic.
      PropertyTypeClass
      declaredClass
      readonly inherited
      string
      Accessor
      type
      "none" | "stay-above"

      declaredClass

      readonlyinherited Property
      Type
      string
      Inherited from: Accessor
      Since
      ArcGIS Maps SDK for JavaScript 4.7

      The name of the class. The declared class name is formatted as esri.folder.className.

      type

      Property
      Type
      "none" | "stay-above"

      The type of the constraint. It can be one of the following:

      ValueDescription
      stay-aboveUser can only navigate above ground surface
      noneUser can navigate above and below the ground surface

      Default value: stay-above

      Default value
      "none"

      Methods

      MethodSignatureClass
      fromJSON
      inherited static
      fromJSON(json: any): any
      JSONSupportMixin
      toJSON
      inherited
      toJSON(): any
      JSONSupportMixin

      fromJSON

      inheritedstatic Method
      Signature
      fromJSON (json: any): any
      Inherited from: JSONSupportMixin

      Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.

      Parameters
      ParameterTypeDescriptionRequired
      json
      any

      A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.

      Returns
      any

      Returns a new instance of this class.

      toJSON

      inherited Method
      Signature
      toJSON (): any
      Inherited from: JSONSupportMixin

      Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.

      Returns
      any

      The ArcGIS portal JSON representation of an instance of this class.

      • Constructors
      • Properties
      • Methods
      Was this page helpful?

      Copyright © 2026 Esri . All rights reserved.

      • Privacy
      • Terms of Use

      Sign up to receive the latest news from Esri