
























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This specialty certification guide prepares candidates to demonstrate proficiency in the ArcGIS API for JavaScript. It covers web GIS fundamentals, JavaScript-based mapping, spatial data visualization, application development, widgets, layers, and performance optimization. The guide includes hands-on coding concepts, architectural best practices, troubleshooting tips, and exam-style questions to ensure candidates can confidently build and manage interactive GIS web applications.
Typology: Exams
1 / 96
This page cannot be seen from the preview
Don't miss anything!

























































































Question 1. Which class is used to create a 2‑dimensional view of a Map in the ArcGIS API for JavaScript? A) SceneView B) MapView C) WebMapView D) GlobeView Answer: B Explanation: MapView renders a Map in a 2‑D environment, handling panning, zooming, and rotation. SceneView is for 3‑D scenes. Question 2. When would you prefer using a programmatic Map over a portal‑item‑based WebMap? A) When you need to load a basemap from ArcGIS Online only B) When you must dynamically add or remove layers at runtime C) When you want to share the map as a portal item D) When you need built‑in pop‑up templates only Answer: B Explanation: A programmatic Map gives full control to add, remove, or modify layers dynamically, whereas a WebMap is a static portal item. Question 3. Which view property defines the coordinate system used for displaying the map? A) view.extent B) view.zoom C) view.spatialReference
D) view.center Answer: C Explanation: The spatialReference property sets the coordinate system (e.g., WKID 4326) for the view. Question 4. In a 3‑D SceneView, which object provides elevation data for the ground surface? A) TileLayer B) ElevationLayer C) ImageryLayer D) FeatureLayer Answer: B Explanation: ElevationLayer (or a TerrainLayer) supplies elevation values that the SceneView uses to render the ground. Question 5. Which layer type is best suited for displaying tiled map services such as cached basemaps? A) FeatureLayer B) MapImageLayer C) TileLayer D) GraphicsLayer Answer: C Explanation: TileLayer loads pre‑rendered tiles efficiently, ideal for basemaps and cached services.
Explanation: map.reorder(layer, index) moves the specified layer to the given index in the layer collection. Question 9. Which of the following is NOT a valid source type for a CSVLayer? A) Remote URL to a .csv file B) Blob object containing CSV data C) Feature service endpoint D) Inline CSV string passed via data property Answer: C Explanation: CSVLayer only consumes CSV formatted data; a feature service requires FeatureLayer. Question 10. To display a KML file hosted on an external server, which layer class should you use? A) GeoJSONLayer B) KMLLayer C) WMSLayer D) FeatureLayer Answer: B Explanation: KMLLayer reads KML/KMZ files and renders their features. Question 11. Which OGC standard provides tiled map images that are pre‑generated and cached? A) WFS B) WMS
Answer: C Explanation: WMTS (Web Map Tile Service) delivers pre‑cached tiles for fast display. Question 12. If a remote service does not include CORS headers, which technique can you use to fetch its data? A) Set view.corsEnabled = true B) Use a proxy page on your server C) Append "?cors=true" to the URL D) Disable security in the browser Answer: B Explanation: A proxy forwards the request and adds appropriate CORS headers, allowing the browser to retrieve the data. Question 13. Which utility class helps construct request URLs with proper query parameters? A) request B) urlUtils C) geometryEngine D) LayerView Answer: B Explanation: urlUtils provides methods like appendQueryParameters to build URLs safely.
Explanation: createClassedColorRenderer automatically builds a ClassBreaksRenderer with a color ramp based on data distribution. Question 17. CIMSymbol is primarily used for which purpose? A) Defining 2‑D simple markers only B) Creating complex multi‑layer vector symbols with advanced styling C) Specifying raster image URLs D) Configuring pop‑up templates Answer: B Explanation: CIMSymbol allows detailed definition of multi‑layer symbols, including fills, strokes, and effects. Question 18. In a 3‑D SceneView, which symbol type would you use to represent a building as an extruded polygon? A) SimpleMarkerSymbol B) SimpleLineSymbol C) PolygonSymbol3D with extrusion D) PointSymbol3D with sphere Answer: C Explanation: PolygonSymbol3D’s extrusion property creates a 3‑D volume from a polygon footprint. Question 19. Which widget provides a searchable interface for locating addresses, places, or features? A) Legend
B) Search C) LayerList D) BasemapGallery Answer: B Explanation: The Search widget integrates geocoding and layer search capabilities. Question 20. How can you programmatically move a widget to the top‑right corner of the view? A) view.ui.add(widget, "top-right") B) widget.position = "top-right" C) view.add(widget, "top-right") D) widget.placeAt(view.container, "top-right") Answer: A Explanation: view.ui.add places a widget in a specified UI corner. Question 21. Which property of PopupTemplate defines the HTML content displayed in the pop‑up? A) title B) content C) fieldInfos D) expressionInfos Answer: B Explanation: The content property holds strings, media, or functions that render the pop‑up body.
D) SpatialReference Answer: C Explanation: geometryEngine contains synchronous client‑side geometry functions. Question 25. When using LayerView.queryFeatures(), where is the query executed? A) On the server via REST B) In the browser against already loaded features C) In a web worker thread only D) In the ArcGIS Portal database Answer: B Explanation: queryFeatures runs against the client‑side feature cache held by the LayerView. Question 26. Which Arcade function returns the length of a polyline in the map’s units? A) Length($feature) B) GeometryLength($feature.geometry) C) Distance($feature) D) PolylineLength($feature) Answer: B Explanation: GeometryLength computes the length of a geometry object using the map’s spatial reference. Question 27. How can you temporarily highlight features that meet a certain attribute condition? A) Set layer.visible = false for others
B) Apply a FeatureEffect with a filter and effect C) Use view.goTo to zoom to those features only D) Change the layer’s renderer globally Answer: B Explanation: FeatureEffect combines a FeatureFilter with visual effects (e.g., bloom) to emphasize matching features. Question 28. Which method creates a Promise that resolves when a map and its view are fully loaded? A) view.when() B) map.load() C) view.ready() D) map.when() Answer: A Explanation: view.when returns a promise that resolves after the view and its resources are ready. Question 29. In an async function, how would you wait for a feature layer to finish loading before proceeding? A) await layer.load() B) layer.when() C) layer.once("load") D) await view.whenLayerView(layer) Answer: A
B) IdentityManager C) CredentialManager D) SecureLayer Answer: B Explanation: IdentityManager handles token acquisition, storage, and renewal for secured resources. Question 33. To access a private feature service that requires OAuth2, which step must be performed first? A) Call esriConfig.apiKey = "my-key" B) Register an OAuthInfo object with IdentityManager C) Set layer.credentials = "my-token" manually D) Disable CORS on the server Answer: B Explanation: Registering OAuthInfo supplies the client ID, redirect URI, and other details needed for token acquisition. Question 34. Which property controls the maximum number of features displayed per tile in a FeatureLayer to maintain performance? A) maxScale B) featureReduction.type C) featureReduction.cluster.maxCount D) definitionExpression Answer: C
Explanation: featureReduction.cluster.maxCount limits features per cluster tile, helping keep rendering fast. Question 35. In a 3‑D scene, which property of the Ground layer defines the resolution of the elevation data? A) ground.surfaceResolution B) ground.elevationModel.resolution C) ground.navigation.spatialReference D) ground.opacity Answer: B Explanation: The elevation model’s resolution property determines how detailed the terrain surface appears. Question 36. Which method adds a custom HTML element as an overlay on top of the MapView? A) view.overlay.add() B) view.ui.add() C) view.container.appendChild() D) view.addCustomOverlay() Answer: B Explanation: view.ui.add can insert any DOM node (e.g., a div) into the view’s UI stack. Question 37. What is the effect of setting a FeatureLayer’s outFields to ["*"]? A) No attributes are returned in queries B) Only the OBJECTID field is returned
Question 40. Which function retrieves the current map scale as a human‑readable string (e.g., “1:24,000”)? A) view.scale.toLocaleString() B) view.scale.toString() C) view.getScaleString() D) view.scale.format() Answer: C Explanation: view.getScaleString() returns a formatted scale string. Question 41. To limit a layer’s visibility to scales larger than 1:50,000, which property would you set? A) minScale = 50000 B) maxScale = 50000 C) visibleScale = 50000 D) scaleRange = [0, 50000] Answer: A Explanation: minScale defines the smallest scale (most zoomed‑out) at which the layer is visible; larger numbers mean more zoomed‑out. Question 42. Which class allows you to apply a grayscale effect to all features in a layer except those matching a filter? A) FeatureEffect B) LayerEffect C) VisualEffect D) RenderingEffect
Answer: A Explanation: FeatureEffect combines a FeatureFilter with an effect (e.g., grayscale) applied to non‑matching features. Question 43. When using the geometryEngine’s buffer method, which unit is assumed if none is specified? A) Meters B) Map’s spatial reference units C) Kilometers D) Feet Answer: B Explanation: The buffer uses the units of the geometry’s spatial reference unless a unit is explicitly passed. Question 44. Which ArcGIS API method returns a promise that resolves with the list of available basemaps in the portal? A) portalItem.fetchBasemaps() B) basemapGallery.getBasemaps() C) portal.queryBasemaps() D) BasemapGallery.loadAll() Answer: C Explanation: portal.queryBasemaps() queries the portal for basemap items and returns a promise. Question 45. What does the “view.popup.autoOpenEnabled = false” setting accomplish?
Explanation: The “layerview-status-change” event signals changes in the LayerView’s status, including when it becomes “loaded”. Question 48. Which method is used to programmatically zoom the view to a specific geometry extent? A) view.centerAt(geometry) B) view.zoomTo(geometry) C) view.goTo(geometry) D) view.fit(geometry) Answer: C Explanation: view.goTo accepts a geometry, point, or extent and animates the view to that location. Question 49. How can you retrieve the pixel size (in map units) of a tile in a TileLayer? A) tileLayer.tileInfo.lods[0].resolution B) tileLayer.spatialReference.unitsPerPixel C) tileLayer.getTileSize() D) tileLayer.tileInfo.size Answer: A Explanation: tileInfo.lods contains level‑of‑detail objects; each lod’s resolution represents map units per pixel. Question 50. Which of the following is a valid way to add a custom CSS class to a widget’s container? A) widget.domNode.classList.add("myClass")
B) widget.container.style = "myClass" C) view.ui.add(widget, {className:"myClass"}) D) widget.set("className","myClass") Answer: A Explanation: domNode gives direct access to the widget’s DOM element, allowing classList manipulation. Question 51. Which method converts a screen point to map coordinates in a MapView? A) view.toMap(point) B) view.toScreen(point) C) view.screenToLocation(point) D) view.convertToMap(point) Answer: C Explanation: view.screenToLocation translates a screen pixel point to a map coordinate. Question 52. Which property of the Search widget limits the number of results returned for each source? A) maxResultsPerSource B) resultLimit C) maxSuggestions D) source.maxResults Answer: A Explanation: maxResultsPerSource defines how many suggestions each configured source returns.