private async void Initialize() { try { // Starting viewpoint for the map view. Viewpoint _startingViewpoint = new Viewpoint(new Envelope(-9812691.11079696, 5128687.20710657, -9812377.9447607, 5128865.36767282, SpatialReferences.WebMercator)); // Create the map. MyMapView.Map = new Map(Basemap.CreateStreetsNightVector()) { InitialViewpoint = _startingViewpoint }; // NOTE: This layer supports any ArcGIS Feature Table that define subtypes. SubtypeFeatureLayer subtypeFeatureLayer = new SubtypeFeatureLayer(new ServiceFeatureTable(new Uri("https://sampleserver7.arcgisonline.com/arcgis/rest/services/UtilityNetwork/NapervilleElectric/FeatureServer/100"))); MyMapView.Map.OperationalLayers.Add(subtypeFeatureLayer); // Select sublayer to control. await subtypeFeatureLayer.LoadAsync(); // Select the sublayer of street lights by name. _sublayer = subtypeFeatureLayer.GetSublayerBySubtypeName("Street Light"); // Set the label definitions using the JSON. _sublayer.LabelDefinitions.Add(LabelDefinition.FromJson(_labelJSON)); // Enable labels for the sub layer. _sublayer.LabelsEnabled = true; // Set the data context for data-binding in XAML. SublayerInfo.DataContext = _sublayer; // Get the default renderer for the sublayer. _defaultRenderer = _sublayer.Renderer.Clone(); // Create a custom renderer for the sublayer. _customRenderer = new SimpleRenderer() { Symbol = new SimpleMarkerSymbol() { Color = Color.Salmon, Style = SimpleMarkerSymbolStyle.Diamond, Size = 20, } }; // Set a default minimum scale. _sublayer.MinScale = 3000; } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().Name, MessageBoxButton.OK, MessageBoxImage.Error); } }
private async void Initialize() { try { // Starting viewpoint for the map view. Viewpoint _startingViewpoint = new Viewpoint(new Envelope(-9812691.11079696, 5128687.20710657, -9812377.9447607, 5128865.36767282, SpatialReferences.WebMercator)); // Create the map. MyMapView.Map = new Map(Basemap.CreateStreetsNightVector()) { InitialViewpoint = _startingViewpoint }; // NOTE: This layer supports any ArcGIS Feature Table that define subtypes. SubtypeFeatureLayer subtypeFeatureLayer = new SubtypeFeatureLayer(new ServiceFeatureTable(new Uri("https://sampleserver7.arcgisonline.com/arcgis/rest/services/UtilityNetwork/NapervilleElectric/FeatureServer/100"))); MyMapView.Map.OperationalLayers.Add(subtypeFeatureLayer); // Select sublayer to control. await subtypeFeatureLayer.LoadAsync(); // Select the sublayer of street lights by name. _sublayer = subtypeFeatureLayer.GetSublayerBySubtypeName("Street Light"); // Set the label definitions using the JSON. _sublayer.LabelDefinitions.Add(LabelDefinition.FromJson(_labelJSON)); // Enable labels for the sub layer. _sublayer.LabelsEnabled = true; // Get the default renderer for the sublayer. _defaultRenderer = _sublayer.Renderer.Clone(); // Create a custom renderer for the sublayer. _customRenderer = new SimpleRenderer() { Symbol = new SimpleMarkerSymbol() { Color = System.Drawing.Color.Salmon, Style = SimpleMarkerSymbolStyle.Diamond, Size = 20, } }; // Update the UI for displaying the current map scale. MyMapView.PropertyChanged += MapViewPropertyChanged; MapScaleLabel.Text = $"Current map scale: 1:{(int)MyMapView.MapScale}"; } catch (Exception ex) { await Application.Current.MainPage.DisplayAlert(ex.GetType().Name, ex.Message, "OK"); } }
private async void Initialize() { // As of ArcGIS Enterprise 10.8.1, using utility network functionality requires a licensed user. The following login for the sample server is licensed to perform utility network operations. AuthenticationManager.Current.ChallengeHandler = new ChallengeHandler(async(info) => { try { // WARNING: Never hardcode login information in a production application. This is done solely for the sake of the sample. string sampleServer7User = "******"; string sampleServer7Pass = "******"; return(await AuthenticationManager.Current.GenerateCredentialAsync(info.ServiceUri, sampleServer7User, sampleServer7Pass)); } catch (Exception ex) { Debug.WriteLine(ex.Message); return(null); } }); try { // Starting viewpoint for the map view. Viewpoint _startingViewpoint = new Viewpoint(new Envelope(-9812691.11079696, 5128687.20710657, -9812377.9447607, 5128865.36767282, SpatialReferences.WebMercator)); // Create the map. MyMapView.Map = new Map(BasemapStyle.ArcGISStreetsNight) { InitialViewpoint = _startingViewpoint }; // NOTE: This layer supports any ArcGIS Feature Table that define subtypes. SubtypeFeatureLayer subtypeFeatureLayer = new SubtypeFeatureLayer(new ServiceFeatureTable(new Uri("https://sampleserver7.arcgisonline.com/server/rest/services/UtilityNetwork/NapervilleElectric/FeatureServer/0"))); MyMapView.Map.OperationalLayers.Add(subtypeFeatureLayer); // Select sublayer to control. await subtypeFeatureLayer.LoadAsync(); // Select the sublayer of street lights by name. _sublayer = subtypeFeatureLayer.GetSublayerBySubtypeName("Street Light"); // Create a text symbol for styling the sublayer label definition. TextSymbol textSymbol = new TextSymbol { Size = 12, OutlineColor = Color.White, Color = Color.Blue, HaloColor = Color.White, HaloWidth = 3, }; // Create a label definition with a simple label expression. LabelExpression simpleLabelExpression = new SimpleLabelExpression("[nominalvoltage]"); LabelDefinition labelDefinition = new LabelDefinition(simpleLabelExpression, textSymbol) { Placement = Esri.ArcGISRuntime.ArcGISServices.LabelingPlacement.PointAboveRight, UseCodedValues = true, }; // Add the label definition to the sublayer. _sublayer.LabelDefinitions.Add(labelDefinition); // Enable labels for the sub layer. _sublayer.LabelsEnabled = true; // Set the data context for data-binding in XAML. SublayerInfo.DataContext = _sublayer; // Get the default renderer for the sublayer. _defaultRenderer = _sublayer.Renderer.Clone(); // Create a custom renderer for the sublayer. _customRenderer = new SimpleRenderer() { Symbol = new SimpleMarkerSymbol() { Color = Color.Salmon, Style = SimpleMarkerSymbolStyle.Diamond, Size = 20, } }; // Set a default minimum scale. _sublayer.MinScale = 3000; } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().Name, MessageBoxButton.OK, MessageBoxImage.Error); } }