Feature services are useful for sharing vector GIS data with clients so that individual features can be queried, displayed, and edited.
How to use the sample
Run the sample and view the feature service as an operational layer on top of the basemap. Zoom and pan around the map to see the features in greater detail.
How it works
Create a ServiceFeatureTable from a URL.
Create a feature layer from the service feature table with new FeatureLayer(serviceFeatureTable).
Add the feature layer to your ArcGISMap using ArcGISMap.getOperationalLayers().add(FeatureLayer).
Relevant API
ArcGISMap
BasemapStyle
FeatureLayer
MapView
ServiceFeatureTable
Tags
feature table, layer, layers, service
Sample Code
MainActivity.java
/* Copyright 2016 ESRI
*
* All rights reserved under the copyright laws of the United States
* and applicable international laws, treaties, and conventions.
*
* You may freely redistribute and use this sample code, with or
* without modification, provided you include the original copyright
* notice and use restrictions.
*
* See the Sample code usage restrictions document for further information.
*
*/package com.esri.arcgisruntime.sample.featurelayerfeatureservice;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.esri.arcgisruntime.ArcGISRuntimeEnvironment;
import com.esri.arcgisruntime.data.ServiceFeatureTable;
import com.esri.arcgisruntime.geometry.Point;
import com.esri.arcgisruntime.geometry.SpatialReferences;
import com.esri.arcgisruntime.layers.FeatureLayer;
import com.esri.arcgisruntime.mapping.ArcGISMap;
import com.esri.arcgisruntime.mapping.BasemapStyle;
import com.esri.arcgisruntime.mapping.Viewpoint;
import com.esri.arcgisruntime.mapping.view.MapView;
publicclassMainActivityextendsAppCompatActivity{
private MapView mMapView;
@OverrideprotectedvoidonCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// authentication with an API key or named user is required to access basemaps and other// location services ArcGISRuntimeEnvironment.setApiKey(BuildConfig.API_KEY);
// inflate MapView from layout mMapView = findViewById(R.id.mapView);
// create a map with the terrain with labels basemap ArcGISMap map = new ArcGISMap(BasemapStyle.ARCGIS_TERRAIN);
// create feature layer with its service feature table// create the service feature table ServiceFeatureTable serviceFeatureTable = new ServiceFeatureTable(
getResources().getString(R.string.sample_service_url));
// create the feature layer using the service feature table FeatureLayer featureLayer = new FeatureLayer(serviceFeatureTable);
// add the layer to the map map.getOperationalLayers().add(featureLayer);
// set the map to be displayed in the mapview mMapView.setMap(map);
// set an initial viewpoint mMapView.setViewpoint(new Viewpoint(new Point(-13176752, 4090404, SpatialReferences.getWebMercator()), 500000));
}
@OverrideprotectedvoidonPause(){
super.onPause();
mMapView.pause();
}
@OverrideprotectedvoidonResume(){
super.onResume();
mMapView.resume();
}
@OverrideprotectedvoidonDestroy(){
super.onDestroy();
mMapView.dispose();
}
}