private async void Initialize() { // Load the scene with a basemap and a terrain surface. MySceneView.Scene = new Scene(Basemap.CreateImagery()); MySceneView.Scene.BaseSurface.ElevationSources.Add(new ArcGISTiledElevationSource(new Uri("https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer"))); // Get the URL to the data. string filePath = DataManager.GetDataFolder("f10b1d37fdd645c9bc9b189fb546307c", "Esri_tour.kmz"); Uri kmlUrl = new Uri(filePath); // Create the KML dataset and layer. KmlDataset dataset = new KmlDataset(kmlUrl); KmlLayer layer = new KmlLayer(dataset); // Add the layer to the map. MySceneView.Scene.OperationalLayers.Add(layer); try { // Load the dataset. await dataset.LoadAsync(); // Find the first KML tour. FindKmlTour(dataset.RootNodes); // Handle absence of tour gracefully. if (_tourController.Tour == null) { throw new InvalidOperationException("No tour found. Can't enable touring for a KML file with no tours."); } // Listen for changes to the tour status. _tourController.Tour.PropertyChanged += Tour_PropertyChanged; // Be notified when the sample is left so that the tour can be reset. this.Unloaded += Sample_Unloaded; Application.Current.Exit += Application_Exit; // Enable the play button. PlayButton.IsEnabled = true; // Hide the status bar. LoadingStatusBar.Visibility = Visibility.Collapsed; } catch (Exception e) { Debug.WriteLine(e.ToString()); MessageBox.Show(e.ToString(), "Error"); } }
private async void Initialize() { // Load the scene with a basemap and a terrain surface. _mySceneView.Scene = new Scene(Basemap.CreateImagery()); _mySceneView.Scene.BaseSurface.ElevationSources.Add(new ArcGISTiledElevationSource(new Uri("https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer"))); // Get the URL to the data. string filePath = DataManager.GetDataFolder("f10b1d37fdd645c9bc9b189fb546307c", "Esri_tour.kmz"); Uri kmlUrl = new Uri(filePath); // Create the KML dataset and layer. KmlDataset dataset = new KmlDataset(kmlUrl); KmlLayer layer = new KmlLayer(dataset); // Add the layer to the map. _mySceneView.Scene.OperationalLayers.Add(layer); try { // Load the dataset. await dataset.LoadAsync(); // Find the first KML tour. FindKmlTour(dataset.RootNodes); // Handle absence of tour gracefully. if (_tourController.Tour == null) { throw new InvalidOperationException("No tour found. Can't enable touring for a KML file with no tours."); } // Listen for changes to the tour status. _tourController.Tour.PropertyChanged += Tour_PropertyChanged; // Enable the play button. _playButton.Enabled = true; // Hide the activity indicator. _loadingIndicator.StopAnimating(); } catch (Exception e) { new UIAlertView("Error", e.ToString(), (IUIAlertViewDelegate)null, "OK", null).Show(); } }
private async void Initialize() { // Add a basemap. _mySceneView.Scene = new Scene(Basemap.CreateImageryWithLabels()); _mySceneView.Scene.BaseSurface.ElevationSources.Add(new ArcGISTiledElevationSource(new Uri("https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer"))); // Get the URL to the data. Uri kmlUrl = new Uri(DataManager.GetDataFolder("da301cb122874d5497f8a8f6c81eb36e", "esri_test_data.kmz")); // Create the KML dataset and layer. KmlDataset dataset = new KmlDataset(kmlUrl); KmlLayer layer = new KmlLayer(dataset); // Add the layer to the map. _mySceneView.Scene.OperationalLayers.Add(layer); try { await dataset.LoadAsync(); // Build the ViewModel from the expanded list of layer infos. foreach (KmlNode node in dataset.RootNodes) { // LayerDisplayVM is a custom type made for this sample to serve as the ViewModel; it is not a part of ArcGIS Runtime. LayerDisplayVM nodeVm = new LayerDisplayVM(node, null); _viewModelList.Add(nodeVm); LayerDisplayVM.BuildLayerInfoList(nodeVm, _viewModelList); } // Create an array adapter for the content display ArrayAdapter adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleSpinnerItem, _viewModelList.Select(item => item.Name).ToList()); // Apply the adapter _myDisplayList.Adapter = adapter; // Subscribe to selection change notifications _myDisplayList.ItemClick += MyDisplayList_ItemClick; } catch (Exception e) { new AlertDialog.Builder(this).SetMessage(e.ToString()).SetTitle("Error").Show(); } }
private async void Initialize() { // Add a basemap. _mySceneView.Scene = new Scene(Basemap.CreateImageryWithLabels()); _mySceneView.Scene.BaseSurface.ElevationSources.Add(new ArcGISTiledElevationSource(new Uri("https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer"))); // Get the URL to the data. Uri kmlUrl = new Uri(DataManager.GetDataFolder("da301cb122874d5497f8a8f6c81eb36e", "esri_test_data.kmz")); // Create the KML dataset and layer. KmlDataset dataset = new KmlDataset(kmlUrl); KmlLayer layer = new KmlLayer(dataset); // Add the layer to the map. _mySceneView.Scene.OperationalLayers.Add(layer); try { await dataset.LoadAsync(); // Build the ViewModel from the expanded list of layer infos. foreach (KmlNode node in dataset.RootNodes) { // LayerDisplayVM is a custom type made for this sample to serve as the ViewModel; it is not a part of ArcGIS Runtime. LayerDisplayVM nodeVm = new LayerDisplayVM(node, null); _viewModelList.Add(nodeVm); LayerDisplayVM.BuildLayerInfoList(nodeVm, _viewModelList); } // Construct the layer list source. _layerListSource = new LayerListSource(_viewModelList, this); // Set the source for the table view (layer list). _myDisplayList.Source = _layerListSource; // Force an update of the list display. _myDisplayList.ReloadData(); } catch (Exception e) { new UIAlertView("Error", e.ToString(), (IUIAlertViewDelegate)null, "OK", null).Show(); } }
private async void Initialize() { // Add a basemap. MySceneView.Scene = new Scene(Basemap.CreateImageryWithLabels()); MySceneView.Scene.BaseSurface.ElevationSources.Add(new ArcGISTiledElevationSource(new Uri("https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer"))); // Get the URL to the data. Uri kmlUrl = new Uri(DataManager.GetDataFolder("da301cb122874d5497f8a8f6c81eb36e", "esri_test_data.kmz")); // Create the KML dataset and layer. KmlDataset dataset = new KmlDataset(kmlUrl); KmlLayer layer = new KmlLayer(dataset); // Add the layer to the map. MySceneView.Scene.OperationalLayers.Add(layer); try { await dataset.LoadAsync(); // Build the ViewModel from the expanded list of layer infos. foreach (KmlNode node in dataset.RootNodes) { // LayerDisplayVM is a custom type made for this sample to serve as the ViewModel; it is not a part of ArcGIS Runtime. LayerDisplayVM nodeVm = new LayerDisplayVM(node, null); _viewModelList.Add(nodeVm); LayerDisplayVM.BuildLayerInfoList(nodeVm, _viewModelList); } // Update the list of layers, using the root node from the list. LayerTreeView.ItemsSource = _viewModelList; } catch (Exception e) { await new MessageDialog2(e.ToString(), "Error").ShowAsync(); } }