Yes this has indeed worked for me.
As for the part where it should stay checked or unchecked depending with what is on the MapView, I used this;
final CheckBox legend_image_check = drawerDialog.findViewById(R.id.hide_legend_image); legend_image_check.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (legend_image_check.isChecked()) { featureLayer.setVisible(true); } else { featureLayer.setVisible(false); } } });
Are there any sample codes for adding a featureServer from a Map Server such as this..
http://services.arcgis.com/arcgis/rest/services/layer/FeatureServer/0
I've read the API and do not see any examples. I figured out DynamicMapServiceLayer and can't seem to find code for a feature layer.
Thanks, I recently figure it out.
Yes, this should work.
layer.setVisible(true) does not seem to work.
John, have you been successful at figuring a way to toggle layer visibility? This is a old post but I just stumbled across it.
Thanks!
final CheckBox Layeronoffcheckbox = (CheckBox) layout2.findViewById (R.id.checkBox1); Layeronoffcheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { if (isChecked()){ fLayer.setVisible(true); } else{ fLayer.setVisible(false); } } });
/** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { // Initial activity content view. (START) super.onCreate(savedInstanceState); setContentView(R.layout.mapscreen); // Retrieve the map layout and initial extent from mapscreen XML layout. map = (MapView) findViewById(R.id.map); // Add ESRI basemap layer to MapView. map.addLayer(new ArcGISTiledMapServiceLayer("" + "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer")); // Add Facility Feature layer to the MapView String URL = "http://PUT YOUR SERVER INFO HERE/ArcGIS/rest/services/Mobile/PUT YOUR MAP SERVICE HERE"; ArcGISFeatureLayer fLayer = new ArcGISFeatureLayer(URL, MODE.ONDEMAND); map.addLayer(fLayer); // This puts the ERSI logo on the bottom left corner of the screen once the map screen appears. map.setEsriLogoVisible(true); } //Check Box Setup public void onCheckboxClicked(View view) { // Is the view now checked? boolean checked = ((CheckBox) view).isChecked(); // Check which checkbox was clicked switch(view.getId()) { case R.id.checkBox1: if (checked) fLayer.setVisible(true); else fLayer.setVisible(false); break; } }
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/app_frame" android:layout_width="fill_parent" android:layout_height="fill_parent" > <com.esri.android.map.MapView android:id="@+id/map" android:layout_width="fill_parent" android:layout_height="fill_parent" initExtent="-9246560.42264577, 3775709.72082467, -8746857.60892366, 4180002.76740144" /> <ImageView android:id="@+id/imageView1" android:layout_width="77dp" android:layout_height="54dp" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:src="@drawable/logo_white" /> <CheckBox android:id="@+id/checkBox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:onClick="onCheckboxClicked" android:text="WORK!!!!!" /> </RelativeLayout>
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.