本文整理汇总了C#中MapViewInputEventArgs类的典型用法代码示例。如果您正苦于以下问题:C# MapViewInputEventArgs类的具体用法?C# MapViewInputEventArgs怎么用?C# MapViewInputEventArgs使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MapViewInputEventArgs类属于命名空间,在下文中一共展示了MapViewInputEventArgs类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: MyMapView_MapViewTapped
// Identify features at the click point
private async void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
try
{
progress.Visibility = Visibility.Visible;
resultsGrid.DataContext = null;
GraphicsOverlay graphicsOverlay = MyMapView.GraphicsOverlays["graphicsOverlay"];
graphicsOverlay.Graphics.Clear();
graphicsOverlay.Graphics.Add(new Graphic(e.Location));
IdentifyParameters identifyParams = new IdentifyParameters(e.Location, MyMapView.Extent, 2, (int)MyMapView.ActualHeight, (int)MyMapView.ActualWidth)
{
LayerOption = LayerOption.Visible,
SpatialReference = MyMapView.SpatialReference,
};
IdentifyTask identifyTask = new IdentifyTask(
new Uri("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer"));
var result = await identifyTask.ExecuteAsync(identifyParams);
resultsGrid.DataContext = result.Results;
if (result != null && result.Results != null && result.Results.Count > 0)
titleComboBox.SelectedIndex = 0;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Identify Sample");
}
finally
{
progress.Visibility = Visibility.Collapsed;
}
}
开发者ID:jordanparfitt,项目名称:arcgis-runtime-samples-dotnet,代码行数:36,代码来源:IdentifySample.xaml.cs
示例2: mapView1_Tap
// Perform identify when the map is tapped
private async void mapView1_Tap(object sender, MapViewInputEventArgs e)
{
if (m_mapView == null)
m_mapView = (MapView)sender;
// Clear any previously displayed results
clearResults();
// Get the point that was tapped and show it on the map
GraphicsLayer identifyPointLayer = m_mapView.Map.Layers["IdentifyPointLayer"] as GraphicsLayer;
identifyPointLayer.Graphics.Add(new Graphic() { Geometry = e.Location });
// Show activity
progress.Visibility = Visibility.Visible;
// Perform the identify operation
List<DataItem> results = await doIdentifyAsync(e.Location);
// Hide the activity indicator
progress.Visibility = Visibility.Collapsed;
// Show the results
ResultsListPicker.ItemsSource = results;
if (results.Count > 0)
{
ResultsListPicker.Visibility = Visibility.Visible;
ShowAttributesButton.Visibility = Visibility.Visible;
}
}
开发者ID:rlwarford,项目名称:arcgis-runtime-samples-dotnet,代码行数:30,代码来源:Identify.xaml.cs
示例3: MyMapView_MapViewTapped
// Select a set of wells near the click point
private async void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
try
{
_wellsOverlay.Graphics.Clear();
wellsGrid.ItemsSource = relationshipsGrid.ItemsSource = null;
QueryTask queryTask =
new QueryTask(new Uri("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Petroleum/KSPetro/MapServer/0"));
// Get current viewpoints extent from the MapView
var currentViewpoint = MyMapView.GetCurrentViewpoint(ViewpointType.BoundingGeometry);
var viewpointExtent = currentViewpoint.TargetGeometry.Extent;
Query query = new Query("1=1")
{
Geometry = Expand(viewpointExtent, e.Location, 0.01),
ReturnGeometry = true,
OutSpatialReference = MyMapView.SpatialReference,
OutFields = OutFields.All
};
var result = await queryTask.ExecuteAsync(query);
if (result.FeatureSet.Features != null && result.FeatureSet.Features.Count > 0)
{
_wellsOverlay.Graphics.AddRange(result.FeatureSet.Features.OfType<Graphic>());
wellsGrid.ItemsSource = result.FeatureSet.Features;
resultsPanel.Visibility = Visibility.Visible;
}
}
catch (Exception ex)
{
var _x = new MessageDialog(ex.Message, "Sample Error").ShowAsync();
}
}
开发者ID:MagicWang,项目名称:arcgis-runtime-samples-dotnet,代码行数:36,代码来源:QueryRelatedRecords.xaml.cs
示例4: MyMapView_MapViewTapped
// Use geoprocessor to call drive times gp service and display results
private async void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
try
{
progress.Visibility = Visibility.Visible;
_inputOverlay.Graphics.Clear();
_inputOverlay.Graphics.Add(new Graphic(e.Location));
var parameter = new GPInputParameter();
parameter.GPParameters.Add(new GPFeatureRecordSetLayer("Input_Location", e.Location));
parameter.GPParameters.Add(new GPString("Drive_Times", "1 2 3"));
var result = await _gpTask.ExecuteAsync(parameter);
var features = result.OutParameters.OfType<GPFeatureRecordSetLayer>().First().FeatureSet.Features;
_resultsOverlay.Graphics.Clear();
_resultsOverlay.Graphics.AddRange(features.Select((fs, idx) => new Graphic(fs.Geometry, _bufferSymbols[idx])));
}
catch (Exception ex)
{
var _x = new MessageDialog(ex.Message, "Sample Error").ShowAsync();
}
finally
{
progress.Visibility = Visibility.Collapsed;
}
}
开发者ID:jordanparfitt,项目名称:arcgis-runtime-samples-dotnet,代码行数:32,代码来源:DriveTimes.xaml.cs
示例5: mapView1_MapViewTapped
void mapView1_MapViewTapped(object sender, MapViewInputEventArgs e)
{
graphicsLayer.Graphics.Clear();
try
{
var pointGeom = e.Location;
var bufferGeom = GeometryEngine.Buffer(pointGeom, 5 * milesToMetersConversion);
//show geometries on map
if (graphicsLayer != null)
{
var pointGraphic = new Graphic { Geometry = pointGeom, Symbol = pms };
graphicsLayer.Graphics.Add(pointGraphic);
var bufferGraphic = new Graphic { Geometry = bufferGeom, Symbol = sfs };
graphicsLayer.Graphics.Add(bufferGraphic);
}
}
catch (Exception ex)
{
var dlg = new MessageDialog(ex.Message, "Geometry Engine Failed!");
var _ = dlg.ShowAsync();
}
}
开发者ID:KrisFoster44,项目名称:arcgis-runtime-samples-dotnet,代码行数:26,代码来源:BufferPoint.xaml.cs
示例6: MyMapView_MapViewTapped
// Get user Stop points
private void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
if (!_isMapReady)
return;
try
{
e.Handled = true;
if (_directionsOverlay.Graphics.Count() > 0)
{
panelResults.Visibility = Visibility.Collapsed;
_stopsOverlay.Graphics.Clear();
_routesOverlay.Graphics.Clear();
_directionsOverlay.GraphicsSource = null;
}
_stopsOverlay.Graphics.Add(new Graphic(e.Location));
}
catch (System.Exception ex)
{
var _x = new MessageDialog(ex.Message, "Sample Error").ShowAsync();
}
}
开发者ID:MagicWang,项目名称:arcgis-runtime-samples-dotnet,代码行数:26,代码来源:OfflineRouting.xaml.cs
示例7: mapView_MapViewTapped
private async void mapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
try
{
incidentOverlay.Visibility = Visibility.Collapsed;
incidentOverlay.DataContext = null;
var identifyTask = new IdentifyTask(new Uri(_trafficLayer.ServiceUri));
IdentifyParameter identifyParams = new IdentifyParameter(e.Location, mapView.Extent, 5, (int)mapView.ActualHeight, (int)mapView.ActualWidth)
{
LayerIDs = new int[] { 2, 3, 4 },
LayerOption = LayerOption.Top,
SpatialReference = mapView.SpatialReference,
};
var result = await identifyTask.ExecuteAsync(identifyParams);
if (result != null && result.Results != null && result.Results.Count > 0)
{
incidentOverlay.DataContext = result.Results.First();
incidentOverlay.Visibility = Visibility.Visible;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Identify Error");
}
}
开发者ID:KrisFoster44,项目名称:arcgis-runtime-samples-dotnet,代码行数:29,代码来源:Traffic.xaml.cs
示例8: MyMapView_MapViewTapped
/// <summary>
/// Selects feature for editing.
/// </summary>
private async void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
// Ignore tap events while in edit mode so we do not interfere with edit geometry.
if (MyMapView.Editor.IsActive)
return;
var layer = MyMapView.Map.Layers["Incidents"] as FeatureLayer;
layer.ClearSelection();
SetGeometryEditor();
string message = null;
try
{
// Performs hit test on layer to select feature.
var features = await layer.HitTestAsync(MyMapView, e.Position);
if (features == null || !features.Any())
return;
var featureID = features.FirstOrDefault();
layer.SelectFeatures(new long[] { featureID });
var feature = await layer.FeatureTable.QueryAsync(featureID);
SetGeometryEditor(feature);
}
catch (Exception ex)
{
message = ex.Message;
}
if (!string.IsNullOrWhiteSpace(message))
MessageBox.Show(message);
}
开发者ID:jordanparfitt,项目名称:arcgis-runtime-samples-dotnet,代码行数:30,代码来源:FeatureLayerEditGeometry.xaml.cs
示例9: mapView_MapViewTapped
// Select a set of wells near the click point
private async void mapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
try
{
_wellsLayer.Graphics.Clear();
wellsGrid.ItemsSource = relationshipsGrid.ItemsSource = null;
QueryTask queryTask =
new QueryTask(new Uri("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Petroleum/KSPetro/MapServer/0"));
Query query = new Query("1=1")
{
Geometry = Expand(mapView.Extent, e.Location, 0.01),
ReturnGeometry = true,
OutSpatialReference = mapView.SpatialReference,
OutFields = OutFields.All
};
var result = await queryTask.ExecuteAsync(query);
if (result.FeatureSet.Features != null && result.FeatureSet.Features.Count > 0)
{
_wellsLayer.Graphics.AddRange(result.FeatureSet.Features);
wellsGrid.ItemsSource = result.FeatureSet.Features;
resultsPanel.Visibility = Visibility.Visible;
}
}
catch (Exception ex)
{
var _ = new MessageDialog(ex.Message, "Sample Error").ShowAsync();
}
}
开发者ID:KrisFoster44,项目名称:arcgis-runtime-samples-dotnet,代码行数:32,代码来源:QueryRelatedTables.xaml.cs
示例10: mapView_MapViewTapped
// Get user Stop points
private void mapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
if (!_isMapReady)
return;
try
{
e.Handled = true;
if (directionsLayer.Graphics.Count() > 0)
{
panelResults.Visibility = Visibility.Collapsed;
stopsLayer.Graphics.Clear();
routesLayer.Graphics.Clear();
directionsLayer.GraphicsSource = null;
}
stopsLayer.Graphics.Add(new Graphic(e.Location));
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message, "Sample Error");
}
}
开发者ID:KrisFoster44,项目名称:arcgis-runtime-samples-dotnet,代码行数:26,代码来源:OfflineRouting.xaml.cs
示例11: mapView1_Tap
// On tap, either get related records for the tapped well or find nearby wells if no well was tapped
private async void mapView1_Tap(object sender, MapViewInputEventArgs e)
{
// Show busy UI
BusyVisibility = Visibility.Visible;
// Get the map
if (m_mapView == null)
m_mapView = (MapView)sender;
// Create graphic and add to tap points
var g = new Graphic() { Geometry = e.Location };
TapPoints.Add(g);
// Buffer graphic by 100 meters, create graphic with buffer, add to buffers
var buffer = GeometryEngine.Buffer(g.Geometry, 100);
Buffers.Add(new Graphic() { Geometry = buffer });
// Find intersecting parcels and show them on the map
var result = await doQuery(buffer);
if (result != null && result.FeatureSet != null && result.FeatureSet.Features.Count > 0)
{
// Instead of adding parcels one-by-one, update the Parcels collection all at once to
// allow the map to render the new features in one rendering pass.
Parcels = new ObservableCollection<Graphic>(Parcels.Union(result.FeatureSet.Features));
}
// Hide busy UI
BusyVisibility = Visibility.Collapsed;
}
开发者ID:rlwarford,项目名称:arcgis-runtime-samples-dotnet,代码行数:31,代码来源:BufferAndQuery.xaml.cs
示例12: mapView_MapViewTapped
private void mapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
try
{
graphicsLayer.Graphics.Clear();
// Convert screen point to map point
var point = e.Location;
var buffer = GeometryEngine.Buffer(point, 5 * MILES_TO_METERS);
//show geometries on map
if (graphicsLayer != null)
{
var pointGraphic = new Graphic { Geometry = point, Symbol = _pinSymbol };
graphicsLayer.Graphics.Add(pointGraphic);
var bufferGraphic = new Graphic { Geometry = buffer, Symbol = _bufferSymbol };
graphicsLayer.Graphics.Add(bufferGraphic);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Geometry Engine Failed!");
}
}
开发者ID:KrisFoster44,项目名称:arcgis-runtime-samples-dotnet,代码行数:25,代码来源:BufferSample.xaml.cs
示例13: MyMapView_MapViewTapped
private async void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
try
{
_trafficOverlay.Visibility = Visibility.Collapsed;
_trafficOverlay.DataContext = null;
var identifyTask = new IdentifyTask(new Uri(_trafficLayer.ServiceUri));
// Get current viewpoints extent from the MapView
var currentViewpoint = MyMapView.GetCurrentViewpoint(ViewpointType.BoundingGeometry);
var viewpointExtent = currentViewpoint.TargetGeometry.Extent;
IdentifyParameters identifyParams = new IdentifyParameters(e.Location, viewpointExtent, 5, (int)MyMapView.ActualHeight, (int)MyMapView.ActualWidth)
{
LayerIDs = new int[] { 2, 3, 4 },
LayerOption = LayerOption.Top,
SpatialReference = MyMapView.SpatialReference,
};
var result = await identifyTask.ExecuteAsync(identifyParams);
if (result != null && result.Results != null && result.Results.Count > 0)
{
_trafficOverlay.DataContext = result.Results.First();
_trafficOverlay.Visibility = Visibility.Visible;
}
}
catch (Exception ex)
{
var _x = new MessageDialog(ex.Message, "Sample Error").ShowAsync();
}
}
开发者ID:MagicWang,项目名称:arcgis-runtime-samples-dotnet,代码行数:32,代码来源:Traffic.xaml.cs
示例14: mapView1_Tap
private void mapView1_Tap(object sender, MapViewInputEventArgs e)
{
// Create graphic
Graphic g = new Graphic() { Geometry = e.Location };
// Get layer and add point to it
mapview1.Map.Layers.OfType<GraphicsLayer>().First().Graphics.Add(g);
}
开发者ID:rlwarford,项目名称:arcgis-runtime-samples-dotnet,代码行数:10,代码来源:AddGraphicsOnTap.xaml.cs
示例15: MyMapView_MapViewTapped
// Use geoprocessor to call drive times gp service and display results
private async void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
try
{
progress.Visibility = Visibility.Visible;
// If the _gpTask has completed successfully (or before it is run the first time), the _cancellationTokenSource is set to null.
// If it has not completed and the map is clicked/tapped again, set the _cancellationTokenSource to cancel the initial task.
if (_cancellationTokenSource != null)
{
_cancellationTokenSource.Cancel(); // Cancel previous operation
}
_cancellationTokenSource = new CancellationTokenSource();
_inputOverlay.Graphics.Clear();
_resultsOverlay.Graphics.Clear();
_inputOverlay.Graphics.Add(new Graphic(e.Location));
var parameter = new GPInputParameter();
parameter.GPParameters.Add(new GPFeatureRecordSetLayer("Input_Location", e.Location));
parameter.GPParameters.Add(new GPString("Drive_Times", "1 2 3"));
var result = await _gpTask.ExecuteAsync(parameter, _cancellationTokenSource.Token);
_cancellationTokenSource = null; // null out to show there are no pending operations
if (result != null)
{
var features = result.OutParameters.OfType<GPFeatureRecordSetLayer>().First().FeatureSet.Features;
_resultsOverlay.Graphics.AddRange(features.Select((fs, idx) => new Graphic(fs.Geometry, _bufferSymbols[idx])));
}
}
catch (OperationCanceledException)
{
// Catch this exception because it is expected (when task cancellation is successful).
// Catching it here prevents the message from being propagated to a MessageBox.
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Sample Error");
}
finally
{
progress.Visibility = Visibility.Collapsed;
}
}
开发者ID:jordanparfitt,项目名称:arcgis-runtime-samples-dotnet,代码行数:51,代码来源:DriveTimes.xaml.cs
示例16: MyMapView_MapViewTapped
private async void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
// Convert screen point to map point
var mapPoint = MyMapView.ScreenToLocation(e.Position);
var layer = MyMapView.Map.Layers["InputLayer"] as GraphicsLayer;
layer.Graphics.Clear();
layer.Graphics.Add(new Graphic() { Geometry = mapPoint });
string error = null;
Geoprocessor task = new Geoprocessor(new Uri("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Network/ESRI_DriveTime_US/GPServer/CreateDriveTimePolygons"));
var parameter = new GPInputParameter();
parameter.GPParameters.Add(new GPFeatureRecordSetLayer("Input_Location", mapPoint));
parameter.GPParameters.Add(new GPString("Drive_Times", "1 2 3"));
try
{
var result = await task.ExecuteAsync(parameter);
var r = MyMapView.Map.Layers["ResultLayer"] as GraphicsLayer;
r.Graphics.Clear();
foreach (GPParameter gpParameter in result.OutParameters)
{
if (gpParameter is GPFeatureRecordSetLayer)
{
GPFeatureRecordSetLayer gpLayer = gpParameter as GPFeatureRecordSetLayer;
List<Esri.ArcGISRuntime.Symbology.Symbol> bufferSymbols = new List<Esri.ArcGISRuntime.Symbology.Symbol>(
new Esri.ArcGISRuntime.Symbology.Symbol[] { LayoutRoot.Resources["FillSymbol1"] as Esri.ArcGISRuntime.Symbology.Symbol,
LayoutRoot.Resources["FillSymbol2"] as Esri.ArcGISRuntime.Symbology.Symbol,
LayoutRoot.Resources["FillSymbol3"] as Esri.ArcGISRuntime.Symbology.Symbol });
int count = 0;
foreach (Graphic graphic in gpLayer.FeatureSet.Features)
{
graphic.Symbol = bufferSymbols[count];
graphic.Attributes.Add("Info", String.Format("{0} minute buffer ", 3 - count));
r.Graphics.Add(graphic);
count++;
}
}
}
}
catch (Exception ex)
{
error = "Geoprocessor service failed: " + ex.Message;
}
if (error != null)
await new MessageDialog(error).ShowAsync();
}
开发者ID:jordanparfitt,项目名称:arcgis-runtime-samples-dotnet,代码行数:49,代码来源:DriveTimes.xaml.cs
示例17: MyMapView_MapViewTapped
/// <summary>
/// Selects feature and checks whether update or delete is allowed.
/// </summary>
private async void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
// Ignore tap events while in edit mode so we do not interfere with add point.
if (MyMapView.Editor.IsActive)
return;
var layer = MyMapView.Map.Layers["Marine"] as FeatureLayer;
var table = (ArcGISFeatureTable)layer.FeatureTable;
layer.ClearSelection();
// Service metadata includes edit fields which can be used
// to check ownership and/or tracking the last edit made.
if (table.ServiceInfo == null || table.ServiceInfo.EditFieldsInfo == null)
return;
var creatorField = table.ServiceInfo.EditFieldsInfo.CreatorField;
if (string.IsNullOrWhiteSpace(creatorField))
return;
string message = null;
try
{
// Performs hit test on layer to select feature.
var features = await layer.HitTestAsync(MyMapView, e.Position);
if (features == null || !features.Any())
return;
var featureID = features.FirstOrDefault();
layer.SelectFeatures(new long[] { featureID });
var feature = (GeodatabaseFeature)await layer.FeatureTable.QueryAsync(featureID);
// Displays feature attributes and editing restrictions.
if (feature.Attributes.ContainsKey(table.ObjectIDField))
message += string.Format("[{0}] : {1}\n", table.ObjectIDField, feature.Attributes[table.ObjectIDField]);
if (feature.Attributes.ContainsKey(creatorField))
message += string.Format("[{0}] : {1}\n", creatorField, feature.Attributes[creatorField]);
// Checks whether service allows current user to add/update/delete attachment of feature.
message += string.Format("Attachments\n\tCanAdd - {0}\n\tCanUpdate - {1}\n\tCanDelete - {2}\n",
table.CanAddAttachment(feature), table.CanUpdateAttachment(feature), table.CanDeleteAttachment(feature));
// Checks whether service allows current user to update feature's geometry or attributes; and delete feature.
message += string.Format("Feature\n\tCanUpdateGeometry - {0}\n\tCanUpdate - {1}\n\tCanDelete - {2}\n",
table.CanUpdateGeometry(feature), table.CanUpdateFeature(feature), table.CanDeleteFeature(feature));
}
catch (Exception ex)
{
message = ex.Message;
}
if (!string.IsNullOrWhiteSpace(message))
await new MessageDialog(message).ShowAsync();
}
开发者ID:jordanparfitt,项目名称:arcgis-runtime-samples-dotnet,代码行数:50,代码来源:OwnershipBasedEditing.xaml.cs
示例18: mapView_MapViewTapped
// Hit Test the graphics layer by single point
private async void mapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
try
{
var graphics = await graphicsLayer.HitTestAsync(mapView, e.Position, MAX_GRAPHICS);
string results = "Hit: ";
if (graphics == null || graphics.Count() == 0)
results += "None";
else
results += string.Join(", ", graphics.Select(g => g.Attributes["ID"].ToString()).ToArray());
txtResults.Text = results;
}
catch (Exception ex)
{
MessageBox.Show("HitTest Error: " + ex.Message, "Graphics Layer Hit Testing");
}
}
开发者ID:KrisFoster44,项目名称:arcgis-runtime-samples-dotnet,代码行数:19,代码来源:GraphicsHitTesting.xaml.cs
示例19: MyMapView_MapViewTapped
/// <summary>
/// Identifies graphic to highlight and query its related records.
/// </summary>
private async void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
var layer = MyMapView.Map.Layers["ServiceRequests"] as ArcGISDynamicMapServiceLayer;
var task = new IdentifyTask(new Uri(layer.ServiceUri));
var mapPoint = MyMapView.ScreenToLocation(e.Position);
// Get current viewpoints extent from the MapView
var currentViewpoint = MyMapView.GetCurrentViewpoint(ViewpointType.BoundingGeometry);
var viewpointExtent = currentViewpoint.TargetGeometry.Extent;
var parameter = new IdentifyParameters(mapPoint, viewpointExtent, 5, (int)MyMapView.ActualHeight, (int)MyMapView.ActualWidth);
// Clears map of any highlights.
var overlay = MyMapView.GraphicsOverlays["Highlighter"] as GraphicsOverlay;
overlay.Graphics.Clear();
SetRelatedRecordEditor();
string message = null;
try
{
// Performs an identify and adds graphic result into overlay.
var result = await task.ExecuteAsync(parameter);
if (result == null || result.Results == null || result.Results.Count < 1)
return;
var graphic = (Graphic)result.Results[0].Feature;
overlay.Graphics.Add(graphic);
// Prepares related records editor.
var featureID = Convert.ToInt64(graphic.Attributes["OBJECTID"], CultureInfo.InvariantCulture);
string requestID = null;
if(graphic.Attributes["Service Request ID"] != null)
requestID = Convert.ToString(graphic.Attributes["Service Request ID"], CultureInfo.InvariantCulture);
SetRelatedRecordEditor(featureID, requestID);
await QueryRelatedRecordsAsync();
}
catch (Exception ex)
{
message = ex.Message;
}
if (!string.IsNullOrWhiteSpace(message))
MessageBox.Show(message);
}
开发者ID:pdiddyb,项目名称:arcgis-runtime-samples-dotnet,代码行数:47,代码来源:EditRelatedData.xaml.cs
示例20: MyMapView_MapViewTapped
/// <summary>
/// Identifies feature to highlight.
/// </summary>
private async void MyMapView_MapViewTapped(object sender, MapViewInputEventArgs e)
{
// Ignore tap events while in edit mode so we do not interfere with edit geometry.
var inEditMode = EditButton.IsEnabled;
if (inEditMode)
return;
// Get current viewpoints extent from the MapView
var currentViewpoint = MyMapView.GetCurrentViewpoint(ViewpointType.BoundingGeometry);
var viewpointExtent = currentViewpoint.TargetGeometry.Extent;
var layer = MyMapView.Map.Layers["RecreationalArea"] as ArcGISDynamicMapServiceLayer;
var task = new IdentifyTask(new Uri(layer.ServiceUri));
var mapPoint = MyMapView.ScreenToLocation(e.Position);
var parameter = new IdentifyParameters(mapPoint, viewpointExtent, 2, (int)MyMapView.ActualHeight, (int)MyMapView.ActualWidth);
// Clears map of any highlights.
var overlay = MyMapView.GraphicsOverlays["Highlighter"] as GraphicsOverlay;
overlay.Graphics.Clear();
SetGeometryEditor();
string message = null;
try
{
// Performs an identify and adds feature result as selected into overlay.
var result = await task.ExecuteAsync(parameter);
if (result == null || result.Results == null || result.Results.Count < 1)
return;
var graphic = (Graphic)result.Results[0].Feature;
graphic.IsSelected = true;
overlay.Graphics.Add(graphic);
// Prepares geometry editor.
var featureID = Convert.ToInt64(graphic.Attributes["Objectid"], CultureInfo.InvariantCulture);
SetGeometryEditor(featureID);
}
catch (Exception ex)
{
message = ex.Message;
}
if (!string.IsNullOrWhiteSpace(message))
await new MessageDialog(message).ShowAsync();
}
开发者ID:MagicWang,项目名称:arcgis-runtime-samples-dotnet,代码行数:47,代码来源:DynamicLayerEditGeometry.xaml.cs
注:本文中的MapViewInputEventArgs类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论