private async void Initialize() { // Create the map with basemap. _myMapView.Map = new Map(Basemap.CreateNavigationVector()); try { // Create the WFS feature table from URL and name. WfsFeatureTable wfsTable = new WfsFeatureTable(new Uri(TableUrl), LayerName); // Set the feature request mode to manual. Only calls to PopulateFromService will load features. // Features will not be populated automatically when the user pans and zooms the layer. wfsTable.FeatureRequestMode = FeatureRequestMode.ManualCache; // Load the WFS feature table. await wfsTable.LoadAsync(); // Create a feature layer to visualize the WFS feature table. FeatureLayer statesLayer = new FeatureLayer(wfsTable); // Add the layer to the map. _myMapView.Map.OperationalLayers.Add(statesLayer); // Populate the WFS feature table with the XML query. await wfsTable.PopulateFromServiceAsync(XmlQuery, true); // Zoom to the extent of the query results. await _myMapView.SetViewpointGeometryAsync(wfsTable.Extent, 50); } catch (Exception e) { Debug.WriteLine(e.ToString()); new UIAlertView("Error", e.ToString(), (IUIAlertViewDelegate)null, "Couldn't populate table with XML query.", null).Show(); } }
private async void Initialize() { // Create the map with topographic basemap. MyMapView.Map = new Map(BasemapStyle.ArcGISTopographic); try { // Create the feature table from URI and layer name. _featureTable = new WfsFeatureTable(new Uri(ServiceUrl), LayerName); // Set the feature request mode to manual - only manual is supported at v100.5. // In this mode, you must manually populate the table - panning and zooming won't request features automatically. _featureTable.FeatureRequestMode = FeatureRequestMode.ManualCache; // Load the table. await _featureTable.LoadAsync(); // Create a feature layer to visualize the WFS features. FeatureLayer wfsFeatureLayer = new FeatureLayer(_featureTable); // Apply a renderer. wfsFeatureLayer.Renderer = new SimpleRenderer(new SimpleLineSymbol(SimpleLineSymbolStyle.Solid, Color.Red, 3)); // Add the layer to the map. MyMapView.Map.OperationalLayers.Add(wfsFeatureLayer); // Use the navigation completed event to populate the table with the features needed for the current extent. MyMapView.NavigationCompleted += MapView_NavigationCompleted; // Zoom to a small area within the dataset by default. MapPoint topLeft = new MapPoint(-122.341581, 47.617207, SpatialReferences.Wgs84); MapPoint bottomRight = new MapPoint(-122.332662, 47.613758, SpatialReferences.Wgs84); await MyMapView.SetViewpointGeometryAsync(new Envelope(topLeft, bottomRight)); } catch (Exception e) { await Application.Current.MainPage.DisplayAlert("Error", e.ToString(), "Couldn't load sample."); Debug.WriteLine(e); } }
private async void Initialize() { // Create the map with topographic basemap. _myMapView.Map = new Map(Basemap.CreateTopographic()); try { // Create the feature table from URI and layer name. _featureTable = new WfsFeatureTable(new Uri(ServiceUrl), LayerName); // Set the feature request mode to manual - only manual is supported at v100.5. // In this mode, you must manually populate the table - panning and zooming won't request features automatically. _featureTable.FeatureRequestMode = FeatureRequestMode.ManualCache; // Load the table. await _featureTable.LoadAsync(); // Create a feature layer to visualize the WFS features. FeatureLayer wfsFeatureLayer = new FeatureLayer(_featureTable); // Apply a renderer. wfsFeatureLayer.Renderer = new SimpleRenderer(new SimpleLineSymbol(SimpleLineSymbolStyle.Solid, Color.Red, 3)); // Add the layer to the map. _myMapView.Map.OperationalLayers.Add(wfsFeatureLayer); // Zoom to a small area within the dataset by default. MapPoint topLeft = new MapPoint(-122.341581, 47.617207, SpatialReferences.Wgs84); MapPoint bottomRight = new MapPoint(-122.332662, 47.613758, SpatialReferences.Wgs84); await _myMapView.SetViewpointGeometryAsync(new Envelope(topLeft, bottomRight)); UpdateForExtent(); } catch (Exception e) { new UIAlertView("Couldn't load sample.", e.ToString(), (IUIAlertViewDelegate)null, "OK", null).Show(); Debug.WriteLine(e); } }